holado 0.13.22__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- holado/__init__.py +358 -0
- holado/common/__init__.py +25 -0
- holado/common/context/__init__.py +25 -0
- holado/common/context/context.py +248 -0
- holado/common/context/service_manager.py +262 -0
- holado/common/context/session_context.py +516 -0
- holado/common/handlers/__init__.py +19 -0
- holado/common/handlers/enums.py +41 -0
- holado/common/handlers/object.py +175 -0
- holado/common/handlers/undefined.py +55 -0
- holado/common/tools/__init__.py +19 -0
- holado/common/tools/gc_manager.py +155 -0
- holado/holado_config.py +45 -0
- holado-0.13.22.dist-info/METADATA +194 -0
- holado-0.13.22.dist-info/RECORD +698 -0
- holado-0.13.22.dist-info/WHEEL +4 -0
- holado-0.13.22.dist-info/licenses/LICENSE +21 -0
- holado_ais/__init__.py +33 -0
- holado_ais/ais/MaritimeIdentificationDigits.csv +295 -0
- holado_ais/ais/ais_manager.py +151 -0
- holado_ais/ais/ais_messages.py +356 -0
- holado_ais/ais/ais_payload.py +35 -0
- holado_ais/ais/enums.py +37 -0
- holado_ais/ais/patch_pyais.py +1174 -0
- holado_ais/tests/behave/steps/__init__.py +17 -0
- holado_ais/tests/behave/steps/ais/__init__.py +0 -0
- holado_ais/tests/behave/steps/ais/ais_manager_steps.py +50 -0
- holado_ais/tests/behave/steps/ais/ais_messages_steps.py +237 -0
- holado_binary/__init__.py +17 -0
- holado_binary/ipc/binary.py +125 -0
- holado_binary/ipc/bit_series.py +307 -0
- holado_binary/tests/behave/steps/__init__.py +17 -0
- holado_binary/tests/behave/steps/ipc/binary_steps.py +57 -0
- holado_binary/tests/behave/steps/ipc/bit_series_steps.py +132 -0
- holado_context/__init__.py +16 -0
- holado_context/tests/behave/steps/__init__.py +16 -0
- holado_context/tests/behave/steps/private/__init__.py +16 -0
- holado_context/tests/behave/steps/private/common/context_steps.py +68 -0
- holado_core/__init__.py +32 -0
- holado_core/common/__init__.py +0 -0
- holado_core/common/actors/actions.py +97 -0
- holado_core/common/actors/actor.py +226 -0
- holado_core/common/actors/element_actor.py +32 -0
- holado_core/common/actors/find_actor.py +106 -0
- holado_core/common/actors/tree_actor.py +32 -0
- holado_core/common/actors/verify_actions.py +69 -0
- holado_core/common/block/base.py +122 -0
- holado_core/common/block/block_manager.py +173 -0
- holado_core/common/block/block_method.py +46 -0
- holado_core/common/block/block_steps.py +37 -0
- holado_core/common/block/function.py +42 -0
- holado_core/common/block/scope_function.py +28 -0
- holado_core/common/block/scope_manager.py +238 -0
- holado_core/common/block/scope_steps.py +141 -0
- holado_core/common/criterias/and_criteria.py +61 -0
- holado_core/common/criterias/criteria.py +78 -0
- holado_core/common/criterias/or_criteria.py +64 -0
- holado_core/common/criterias/tools/criteria_context.py +20 -0
- holado_core/common/criterias/tools/criteria_parameters.py +18 -0
- holado_core/common/drivers/driver.py +153 -0
- holado_core/common/drivers/element_driver.py +30 -0
- holado_core/common/drivers/element_internal_api.py +239 -0
- holado_core/common/drivers/internal_api.py +40 -0
- holado_core/common/drivers/tree_driver.py +30 -0
- holado_core/common/drivers/tree_internal_api.py +176 -0
- holado_core/common/exceptions/__init__.py +0 -0
- holado_core/common/exceptions/element_exception.py +28 -0
- holado_core/common/exceptions/exceptions.py +24 -0
- holado_core/common/exceptions/functional_exception.py +21 -0
- holado_core/common/exceptions/holado_exception.py +25 -0
- holado_core/common/exceptions/technical_exception.py +27 -0
- holado_core/common/exceptions/timeout_exception.py +20 -0
- holado_core/common/exceptions/verify_exception.py +20 -0
- holado_core/common/finders/after_in_tree_finder.py +87 -0
- holado_core/common/finders/element_finder.py +60 -0
- holado_core/common/finders/else_finder.py +105 -0
- holado_core/common/finders/finder.py +478 -0
- holado_core/common/finders/or_finder.py +98 -0
- holado_core/common/finders/then_finder.py +157 -0
- holado_core/common/finders/tools/enums.py +30 -0
- holado_core/common/finders/tools/find_builder.py +118 -0
- holado_core/common/finders/tools/find_context.py +405 -0
- holado_core/common/finders/tools/find_info.py +27 -0
- holado_core/common/finders/tools/find_parameters.py +240 -0
- holado_core/common/finders/tools/find_updater.py +95 -0
- holado_core/common/finders/tools/finder_info.py +26 -0
- holado_core/common/finders/tree_finder.py +146 -0
- holado_core/common/handlers/__init__.py +0 -0
- holado_core/common/handlers/abstracts/base_redo.py +702 -0
- holado_core/common/handlers/abstracts/get_or_create.py +120 -0
- holado_core/common/handlers/element_holder.py +122 -0
- holado_core/common/handlers/enums.py +23 -0
- holado_core/common/handlers/exceptions/redo_exceptions.py +28 -0
- holado_core/common/handlers/features/resource_by_name.py +187 -0
- holado_core/common/handlers/features/resource_by_type.py +174 -0
- holado_core/common/handlers/redo.py +119 -0
- holado_core/common/handlers/wait.py +127 -0
- holado_core/common/inspectors/element_inspector.py +57 -0
- holado_core/common/inspectors/inspector.py +221 -0
- holado_core/common/inspectors/tools/inspect_builder.py +169 -0
- holado_core/common/inspectors/tools/inspect_context.py +69 -0
- holado_core/common/inspectors/tools/inspect_parameters.py +181 -0
- holado_core/common/inspectors/tree_inspector.py +73 -0
- holado_core/common/resource/persisted_data_manager.py +113 -0
- holado_core/common/resource/persisted_method_to_call_manager.py +263 -0
- holado_core/common/resource/resource_manager.py +126 -0
- holado_core/common/resource/table_data_manager.py +110 -0
- holado_core/common/tables/__init__.py +1 -0
- holado_core/common/tables/comparators/__init__.py +0 -0
- holado_core/common/tables/comparators/boolean_table_cell_comparator.py +25 -0
- holado_core/common/tables/comparators/bytes_table_cell_comparator.py +25 -0
- holado_core/common/tables/comparators/datetime_table_cell_comparator.py +24 -0
- holado_core/common/tables/comparators/float_table_cell_comparator.py +31 -0
- holado_core/common/tables/comparators/integer_table_cell_comparator.py +25 -0
- holado_core/common/tables/comparators/internal_table_cell_comparator.py +30 -0
- holado_core/common/tables/comparators/string_table_cell_comparator.py +24 -0
- holado_core/common/tables/comparators/string_table_comparator.py +29 -0
- holado_core/common/tables/comparators/string_table_row_comparator.py +29 -0
- holado_core/common/tables/comparators/table_cell_comparator.py +40 -0
- holado_core/common/tables/comparators/table_comparator.py +209 -0
- holado_core/common/tables/comparators/table_comparator_manager.py +60 -0
- holado_core/common/tables/comparators/table_row_comparator.py +116 -0
- holado_core/common/tables/comparators/table_with_header_comparator.py +68 -0
- holado_core/common/tables/converters/__init__.py +0 -0
- holado_core/common/tables/converters/table_converter.py +233 -0
- holado_core/common/tables/enums.py +23 -0
- holado_core/common/tables/table.py +261 -0
- holado_core/common/tables/table_cell.py +126 -0
- holado_core/common/tables/table_manager.py +365 -0
- holado_core/common/tables/table_row.py +169 -0
- holado_core/common/tables/table_with_header.py +242 -0
- holado_core/common/tools/__init__.py +0 -0
- holado_core/common/tools/comparators/comparator.py +151 -0
- holado_core/common/tools/comparators/object_comparator.py +21 -0
- holado_core/common/tools/converters/converter.py +118 -0
- holado_core/common/tools/path_manager.py +238 -0
- holado_core/common/tools/string_tools.py +144 -0
- holado_core/common/tools/tools.py +197 -0
- holado_core/tests/behave/steps/__init__.py +20 -0
- holado_core/tests/behave/steps/common/__init__.py +0 -0
- holado_core/tests/behave/steps/common/common_steps.py +137 -0
- holado_core/tests/behave/steps/common/config_steps.py +42 -0
- holado_core/tests/behave/steps/common/resource_steps.py +62 -0
- holado_core/tests/behave/steps/common/tables_steps.py +560 -0
- holado_core/tools/__init__.py +0 -0
- holado_core/tools/abstracts/__init__.py +0 -0
- holado_core/tools/abstracts/blocking_command_service.py +64 -0
- holado_core/tools/abstracts/service.py +48 -0
- holado_crypto/__init__.py +31 -0
- holado_crypto/crypto/crypto.py +108 -0
- holado_crypto/crypto/key.py +92 -0
- holado_crypto/crypto/tcpbin.py +105 -0
- holado_crypto/crypto/transport/__init__.py +0 -0
- holado_crypto/crypto/transport/crc.py +40 -0
- holado_crypto/tests/behave/steps/__init__.py +18 -0
- holado_crypto/tests/behave/steps/crypto_steps.py +112 -0
- holado_crypto/tests/behave/steps/key_steps.py +82 -0
- holado_crypto/tests/behave/steps/tcpbin_steps.py +79 -0
- holado_data/__init__.py +31 -0
- holado_data/data/generator/base.py +93 -0
- holado_data/data/generator/generator_manager.py +27 -0
- holado_data/data/generator/python_generator.py +30 -0
- holado_data/tests/behave/steps/__init__.py +17 -0
- holado_data/tests/behave/steps/data/generator_steps.py +91 -0
- holado_data/tests/behave/steps/tools/utils_steps.py +59 -0
- holado_db/__init__.py +32 -0
- holado_db/tests/behave/steps/__init__.py +18 -0
- holado_db/tests/behave/steps/tools/db/db_client_steps.py +134 -0
- holado_db/tests/behave/steps/tools/db/postgresql_client_steps.py +59 -0
- holado_db/tests/behave/steps/tools/db/sqlite_client_steps.py +57 -0
- holado_db/tools/db/clients/base/db_audit.py +94 -0
- holado_db/tools/db/clients/base/db_client.py +344 -0
- holado_db/tools/db/clients/postgresql/postgresql_audit.py +75 -0
- holado_db/tools/db/clients/postgresql/postgresql_client.py +84 -0
- holado_db/tools/db/clients/sqlite/sqlite_audit.py +70 -0
- holado_db/tools/db/clients/sqlite/sqlite_client.py +60 -0
- holado_db/tools/db/db_manager.py +109 -0
- holado_db/tools/db/query/base/query_builder.py +138 -0
- holado_db/tools/db/query/pypika/pypika_query_builder.py +244 -0
- holado_db/tools/db/query/query_manager.py +77 -0
- holado_django/__init__.py +31 -0
- holado_django/server/HOWTO.txt +27 -0
- holado_django/server/django_projects/rest_api/db.sqlite3 +0 -0
- holado_django/server/django_projects/rest_api/manage.py +22 -0
- holado_django/server/django_projects/rest_api/rest_api/__init__.py +0 -0
- holado_django/server/django_projects/rest_api/rest_api/application/__init__.py +0 -0
- holado_django/server/django_projects/rest_api/rest_api/application/admin.py +3 -0
- holado_django/server/django_projects/rest_api/rest_api/application/apps.py +9 -0
- holado_django/server/django_projects/rest_api/rest_api/application/migrations/__init__.py +0 -0
- holado_django/server/django_projects/rest_api/rest_api/application/models.py +3 -0
- holado_django/server/django_projects/rest_api/rest_api/application/tests.py +3 -0
- holado_django/server/django_projects/rest_api/rest_api/application/views.py +6 -0
- holado_django/server/django_projects/rest_api/rest_api/asgi.py +16 -0
- holado_django/server/django_projects/rest_api/rest_api/settings.py +130 -0
- holado_django/server/django_projects/rest_api/rest_api/urls.py +35 -0
- holado_django/server/django_projects/rest_api/rest_api/wsgi.py +16 -0
- holado_django/server/django_server.py +110 -0
- holado_django/server/grpc_django_server.py +57 -0
- holado_django/server/patch_djangogrpcframework.py +46 -0
- holado_django/tests/behave/steps/__init__.py +16 -0
- holado_django/tests/behave/steps/django_server_steps.py +83 -0
- holado_docker/__init__.py +25 -0
- holado_docker/sdk/docker/container_logs.py +447 -0
- holado_docker/sdk/docker/docker_client.py +537 -0
- holado_docker/sdk/docker/docker_service.py +71 -0
- holado_docker/tests/behave/steps/__init__.py +16 -0
- holado_docker/tests/behave/steps/sdk/docker/container_logs_steps.py +47 -0
- holado_examples/projects/server_rest/server_rest_example/initialize_holado.py +72 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3 +0 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/manage.py +22 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/__init__.py +0 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/__init__.py +0 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/admin.py +3 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/apps.py +7 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/migrations/__init__.py +0 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/models.py +3 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/serializers.py +15 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/tests.py +3 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/application/views.py +24 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/asgi.py +16 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/settings.py +130 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/urls.py +31 -0
- holado_examples/projects/server_rest/server_rest_example/rest_api/rest_api/wsgi.py +16 -0
- holado_examples/projects/server_rest/server_rest_example/rest_server.py +37 -0
- holado_examples/scripts/script_custom_initialization.py +16 -0
- holado_examples/scripts/script_minimal_initialization.py +23 -0
- holado_examples/tests/behave/testing_solution/__main__.py +13 -0
- holado_examples/tests/behave/testing_solution/behave_environment.py +35 -0
- holado_examples/tests/behave/testing_solution/environment.py +36 -0
- holado_examples/tests/behave/testing_solution/features/Configuration/Actions/configure_system.feature +10 -0
- holado_examples/tests/behave/testing_solution/features/NonReg/example.feature +26 -0
- holado_examples/tests/behave/testing_solution/initialize_holado.py +62 -0
- holado_examples/tests/behave/testing_solution/logging.conf +102 -0
- holado_examples/tests/behave/testing_solution/requirements.txt +5 -0
- holado_examples/tests/behave/testing_solution/run_test.sh +7 -0
- holado_examples/tests/behave/testing_solution/run_test_nonreg.sh +6 -0
- holado_examples/tests/behave/testing_solution/src/common/tools/path_manager.py +40 -0
- holado_examples/tests/behave/testing_solution/src/config/config_manager.py +30 -0
- holado_examples/tests/behave/testing_solution/src/context/session_context.py +45 -0
- holado_examples/tests/behave/testing_solution/steps/config_steps.py +21 -0
- holado_examples/tests/behave/testing_solution/steps/public_steps.py +10 -0
- holado_grpc/TODO +8 -0
- holado_grpc/__init__.py +40 -0
- holado_grpc/api/rpc/TODO.txt +4 -0
- holado_grpc/api/rpc/grpc_client.py +210 -0
- holado_grpc/api/rpc/grpc_manager.py +81 -0
- holado_grpc/ipc/rpc/__init__.py +0 -0
- holado_grpc/ipc/rpc/grpc_compiler.py +45 -0
- holado_grpc/ipc/rpc/grpc_services.py +165 -0
- holado_grpc/tests/behave/steps/__init__.py +16 -0
- holado_grpc/tests/behave/steps/api/grpc_client_steps.py +173 -0
- holado_grpc/tests/behave/steps/private/__init__.py +16 -0
- holado_grpc/tests/behave/steps/private/api/grpc_steps.py +77 -0
- holado_helper/__init__.py +35 -0
- holado_helper/debug/README.txt +32 -0
- holado_helper/debug/memory/memory_profiler.py +106 -0
- holado_helper/docker/init_user.sh +24 -0
- holado_helper/docker/logging.conf +44 -0
- holado_helper/docker/run_holado_test_nonreg_in_docker.sh +120 -0
- holado_helper/docker/run_terminal_in_docker.sh +101 -0
- holado_helper/holado_module_template/__init__.py +38 -0
- holado_helper/holado_module_template/tests/behave/steps/__init__.py +16 -0
- holado_helper/holado_module_template/tests/behave/steps/private/__init__.py +16 -0
- holado_helper/initialize_holado.py +72 -0
- holado_helper/script/action.py +130 -0
- holado_helper/script/action_script.py +477 -0
- holado_helper/script/any_action_script.py +126 -0
- holado_helper/script/behave_action_script.py +99 -0
- holado_helper/script/csv_action_script.py +142 -0
- holado_helper/script/initialize_script.py +95 -0
- holado_helper/script/input_output_script.py +136 -0
- holado_helper/script/job.py +75 -0
- holado_helper/script/json_action_script.py +104 -0
- holado_helper/script/script.py +110 -0
- holado_json/__init__.py +16 -0
- holado_json/filesystem/json_file.py +94 -0
- holado_json/filesystem/stream_json_file.py +117 -0
- holado_json/ipc/json.py +146 -0
- holado_json/ipc/json_converter.py +69 -0
- holado_json/ipc/json_types.py +183 -0
- holado_json/tests/behave/steps/__init__.py +16 -0
- holado_json/tests/behave/steps/ipc/__init__.py +0 -0
- holado_json/tests/behave/steps/ipc/json_steps.py +131 -0
- holado_keycloak/__init__.py +16 -0
- holado_keycloak/tests/behave/steps/__init__.py +16 -0
- holado_keycloak/tests/behave/steps/tools/keycloak_client_steps.py +73 -0
- holado_keycloak/tools/keycloak/__init__.py +0 -0
- holado_keycloak/tools/keycloak/keycloak_client.py +90 -0
- holado_logging/__init__.py +38 -0
- holado_logging/common/logging/holado_logger.py +71 -0
- holado_logging/common/logging/log_config.py +163 -0
- holado_logging/common/logging/log_manager.py +335 -0
- holado_multitask/__init__.py +33 -0
- holado_multitask/multiprocessing/context/process_context.py +35 -0
- holado_multitask/multiprocessing/function_process.py +102 -0
- holado_multitask/multiprocessing/periodic_function_process.py +137 -0
- holado_multitask/multiprocessing/process.py +213 -0
- holado_multitask/multiprocessing/processesmanager.py +137 -0
- holado_multitask/multitasking/multitask_manager.py +464 -0
- holado_multitask/multithreading/__init__.py +0 -0
- holado_multitask/multithreading/context/thread_context.py +86 -0
- holado_multitask/multithreading/functionthreaded.py +129 -0
- holado_multitask/multithreading/loopfunctionthreaded.py +45 -0
- holado_multitask/multithreading/loopthread.py +110 -0
- holado_multitask/multithreading/periodicfunctionthreaded.py +135 -0
- holado_multitask/multithreading/reflection/inspect.py +47 -0
- holado_multitask/multithreading/reflection/sys.py +29 -0
- holado_multitask/multithreading/reflection/traceback.py +35 -0
- holado_multitask/multithreading/thread.py +203 -0
- holado_multitask/multithreading/threadsmanager.py +167 -0
- holado_multitask/multithreading/timer.py +51 -0
- holado_multitask/tests/behave/steps/__init__.py +17 -0
- holado_multitask/tests/behave/steps/multiprocessing_steps.py +138 -0
- holado_multitask/tests/behave/steps/multithreading_steps.py +129 -0
- holado_protobuf/__init__.py +61 -0
- holado_protobuf/ipc/protobuf/__init__.py +0 -0
- holado_protobuf/ipc/protobuf/abstracts/type.py +45 -0
- holado_protobuf/ipc/protobuf/protobuf_compiler.py +118 -0
- holado_protobuf/ipc/protobuf/protobuf_converter.py +153 -0
- holado_protobuf/ipc/protobuf/protobuf_messages.py +968 -0
- holado_protobuf/ipc/protobuf/protobuf_modifier.py +65 -0
- holado_protobuf/ipc/protobuf/types/__init__.py +0 -0
- holado_protobuf/ipc/protobuf/types/google/__init__.py +0 -0
- holado_protobuf/ipc/protobuf/types/google/protobuf.py +124 -0
- holado_protobuf/tests/behave/steps/__init__.py +16 -0
- holado_protobuf/tests/behave/steps/ipc/protobuf_steps.py +297 -0
- holado_python/__init__.py +36 -0
- holado_python/common/enums.py +34 -0
- holado_python/common/iterables.py +38 -0
- holado_python/common/tools/comparators/boolean_comparator.py +37 -0
- holado_python/common/tools/comparators/bytes_comparator.py +48 -0
- holado_python/common/tools/comparators/datetime_comparator.py +74 -0
- holado_python/common/tools/comparators/float_comparator.py +97 -0
- holado_python/common/tools/comparators/integer_comparator.py +37 -0
- holado_python/common/tools/comparators/string_comparator.py +99 -0
- holado_python/common/tools/comparators/type_comparator.py +31 -0
- holado_python/common/tools/datetime.py +341 -0
- holado_python/standard_library/csv.py +207 -0
- holado_python/standard_library/hashlib.py +110 -0
- holado_python/standard_library/multiprocessing.py +62 -0
- holado_python/standard_library/queue.py +79 -0
- holado_python/standard_library/socket/blocking_socket.py +219 -0
- holado_python/standard_library/socket/echo_server.py +29 -0
- holado_python/standard_library/socket/message_socket.py +152 -0
- holado_python/standard_library/socket/non_blocking_socket.py +172 -0
- holado_python/standard_library/socket/socket.py +411 -0
- holado_python/standard_library/ssl/resources/certificates/NOTES.txt +5 -0
- holado_python/standard_library/ssl/resources/certificates/localhost.crt +19 -0
- holado_python/standard_library/ssl/resources/certificates/localhost.key +28 -0
- holado_python/standard_library/ssl/ssl.py +131 -0
- holado_python/standard_library/typing.py +192 -0
- holado_python/tests/behave/steps/__init__.py +27 -0
- holado_python/tests/behave/steps/builtins/str_steps.py +45 -0
- holado_python/tests/behave/steps/convert_steps.py +59 -0
- holado_python/tests/behave/steps/iterable_steps.py +87 -0
- holado_python/tests/behave/steps/standard_library/csv_steps.py +134 -0
- holado_python/tests/behave/steps/standard_library/datetime_steps.py +163 -0
- holado_python/tests/behave/steps/standard_library/hashlib_steps.py +57 -0
- holado_python/tests/behave/steps/standard_library/multiprocessing_steps.py +56 -0
- holado_python/tests/behave/steps/standard_library/queue_steps.py +358 -0
- holado_python/tests/behave/steps/standard_library/socket_steps.py +384 -0
- holado_python/tests/behave/steps/standard_library/ssl_steps.py +71 -0
- holado_rabbitmq/__init__.py +28 -0
- holado_rabbitmq/tests/behave/steps/__init__.py +17 -0
- holado_rabbitmq/tests/behave/steps/tools/rabbitmq_client_steps.py +565 -0
- holado_rabbitmq/tests/behave/steps/tools/rabbitmq_server_steps.py +64 -0
- holado_rabbitmq/tools/rabbitmq/rabbitmq_blocking_client.py +333 -0
- holado_rabbitmq/tools/rabbitmq/rabbitmq_client.py +678 -0
- holado_rabbitmq/tools/rabbitmq/rabbitmq_manager.py +146 -0
- holado_rabbitmq/tools/rabbitmq/rabbitmq_select_client.py +428 -0
- holado_rabbitmq/tools/rabbitmq/rabbitmq_server.py +24 -0
- holado_redis/__init__.py +17 -0
- holado_redis/tests/behave/steps/__init__.py +16 -0
- holado_redis/tests/behave/steps/tools/redis_client_steps.py +101 -0
- holado_redis/tools/redis/TODO.txt +7 -0
- holado_redis/tools/redis/redis_client.py +190 -0
- holado_redis/tools/redis/redis_manager.py +38 -0
- holado_report/__init__.py +36 -0
- holado_report/campaign/campaign_manager.py +348 -0
- holado_report/report/analyze/execution_historic_manager.py +96 -0
- holado_report/report/analyze/scenario_duration_manager.py +245 -0
- holado_report/report/builders/detailed_scenario_report_builder.py +172 -0
- holado_report/report/builders/execution_historic_report_builder.py +132 -0
- holado_report/report/builders/failure_report_builder.py +150 -0
- holado_report/report/builders/report_builder.py +64 -0
- holado_report/report/builders/short_scenario_report_builder.py +94 -0
- holado_report/report/builders/summary_by_category_report_builder.py +103 -0
- holado_report/report/builders/summary_report_builder.py +110 -0
- holado_report/report/builders/summary_scenario_by_category_report_builder.py +109 -0
- holado_report/report/builders/summary_scenario_report_builder.py +81 -0
- holado_report/report/execution_historic.py +144 -0
- holado_report/report/report_manager.py +424 -0
- holado_report/report/reports/base_report.py +163 -0
- holado_report/report/reports/feature_report.py +106 -0
- holado_report/report/reports/scenario_report.py +64 -0
- holado_rest/__init__.py +32 -0
- holado_rest/api/rest/TODO.txt +2 -0
- holado_rest/api/rest/rest_client.py +200 -0
- holado_rest/api/rest/rest_manager.py +72 -0
- holado_rest/tests/behave/steps/__init__.py +16 -0
- holado_rest/tests/behave/steps/api/__init__.py +0 -0
- holado_rest/tests/behave/steps/api/rest_client_steps.py +181 -0
- holado_rest/tests/behave/steps/private/__init__.py +16 -0
- holado_rest/tests/behave/steps/private/api/__init__.py +0 -0
- holado_rest/tests/behave/steps/private/api/rest_steps.py +75 -0
- holado_s3/__init__.py +17 -0
- holado_s3/tests/behave/steps/__init__.py +17 -0
- holado_s3/tests/behave/steps/private/__init__.py +16 -0
- holado_s3/tests/behave/steps/private/tools/s3_steps.py +89 -0
- holado_s3/tests/behave/steps/tools/s3_client_steps.py +403 -0
- holado_s3/tests/behave/steps/tools/s3_server_steps.py +57 -0
- holado_s3/tools/s3/__init__.py +0 -0
- holado_s3/tools/s3/boto3_s3_client.py +59 -0
- holado_s3/tools/s3/minio_client.py +75 -0
- holado_s3/tools/s3/moto_server.py +52 -0
- holado_scripting/__init__.py +54 -0
- holado_scripting/common/tools/dynamic_text_manager.py +73 -0
- holado_scripting/common/tools/evaluate_parameters.py +228 -0
- holado_scripting/common/tools/expression_evaluator.py +389 -0
- holado_scripting/common/tools/variable_manager.py +354 -0
- holado_scripting/tests/behave/steps/__init__.py +22 -0
- holado_scripting/tests/behave/steps/common/tools/variable_convert_steps.py +159 -0
- holado_scripting/tests/behave/steps/common/tools/variable_new_steps.py +130 -0
- holado_scripting/tests/behave/steps/common/tools/variable_steps.py +108 -0
- holado_scripting/tests/behave/steps/common/tools/variable_verify_steps.py +160 -0
- holado_scripting/tests/behave/steps/scenario/function_steps.py +77 -0
- holado_scripting/tests/behave/steps/scenario/if_steps.py +87 -0
- holado_scripting/tests/behave/steps/scenario/loop_steps.py +119 -0
- holado_scripting/text/base/base_function.py +25 -0
- holado_scripting/text/base/base_verify_function.py +25 -0
- holado_scripting/text/base/text_inspecter.py +204 -0
- holado_scripting/text/interpreter/exceptions/interpreter_exception.py +25 -0
- holado_scripting/text/interpreter/functions/function_apply_function.py +60 -0
- holado_scripting/text/interpreter/functions/function_cast.py +60 -0
- holado_scripting/text/interpreter/functions/function_convert.py +57 -0
- holado_scripting/text/interpreter/functions/function_dynamic_value.py +40 -0
- holado_scripting/text/interpreter/functions/function_escape_all_bytes.py +35 -0
- holado_scripting/text/interpreter/functions/function_exists_variable.py +39 -0
- holado_scripting/text/interpreter/functions/function_hex_to_bytes.py +49 -0
- holado_scripting/text/interpreter/functions/function_hex_to_int.py +53 -0
- holado_scripting/text/interpreter/functions/function_to_base_64.py +41 -0
- holado_scripting/text/interpreter/functions/function_to_bytes.py +50 -0
- holado_scripting/text/interpreter/functions/function_to_hex.py +42 -0
- holado_scripting/text/interpreter/functions/function_to_string.py +50 -0
- holado_scripting/text/interpreter/text_interpreter.py +219 -0
- holado_scripting/text/verifier/exceptions/verifier_exception.py +21 -0
- holado_scripting/text/verifier/functions/verify_function_extract_in.py +35 -0
- holado_scripting/text/verifier/functions/verify_function_match_pattern.py +63 -0
- holado_scripting/text/verifier/text_verifier.py +103 -0
- holado_sftp/__init__.py +16 -0
- holado_sftp/tests/behave/steps/__init__.py +17 -0
- holado_sftp/tests/behave/steps/private/__init__.py +16 -0
- holado_sftp/tests/behave/steps/private/tools/sftp_steps.py +78 -0
- holado_sftp/tests/behave/steps/tools/sftp_client_steps.py +94 -0
- holado_sftp/tests/behave/steps/tools/sftp_server_steps.py +82 -0
- holado_sftp/tools/sftp/__init__.py +0 -0
- holado_sftp/tools/sftp/sftp_client.py +103 -0
- holado_sftp/tools/sftp/sftp_server.py +39 -0
- holado_swagger/__init__.py +31 -0
- holado_swagger/swagger_hub/mockserver/mockserver_client.py +82 -0
- holado_swagger/swagger_hub/mockserver/mockserver_manager.py +33 -0
- holado_swagger/tests/behave/steps/__init__.py +16 -0
- holado_swagger/tests/behave/steps/swagger_hub/mockserver_steps.py +74 -0
- holado_system/system/command/command.py +247 -0
- holado_system/system/command/command_result.py +128 -0
- holado_system/system/command/curl_command.py +101 -0
- holado_system/system/command/exceptions.py +59 -0
- holado_system/system/filesystem/file.py +150 -0
- holado_system/system/global_system.py +187 -0
- holado_system/tests/behave/steps/__init__.py +18 -0
- holado_system/tests/behave/steps/system/commands_steps.py +92 -0
- holado_system/tests/behave/steps/system/file_steps.py +231 -0
- holado_system/tests/behave/steps/system/system_steps.py +84 -0
- holado_test/__init__.py +30 -0
- holado_test/behave/__init__.py +0 -0
- holado_test/behave/behave.py +400 -0
- holado_test/behave/behave_environment.py +169 -0
- holado_test/behave/behave_function.py +33 -0
- holado_test/behave/behave_manager.py +558 -0
- holado_test/behave/independant_runner.py +66 -0
- holado_test/behave/scenario/__init__.py +0 -0
- holado_test/behave/scenario/behave_step_tools.py +157 -0
- holado_test/common/context/feature_context.py +81 -0
- holado_test/common/context/scenario_context.py +169 -0
- holado_test/common/context/step_context.py +66 -0
- holado_test/common/exceptions/undefined_step_exception.py +21 -0
- holado_test/scenario/step_tools.py +547 -0
- holado_test/scenario/tester_tools.py +57 -0
- holado_test/test_config.py +26 -0
- holado_test/tests/behave/steps/__init__.py +18 -0
- holado_test/tests/behave/steps/scenario/exception_steps.py +87 -0
- holado_test/tests/behave/steps/scenario/scenario_steps.py +100 -0
- holado_test/tests/behave/steps/scenario/tester_steps.py +65 -0
- holado_test/tools/test_server/client/rest/test_server_client.py +150 -0
- holado_test/tools/test_server/server/Dockerfile +60 -0
- holado_test/tools/test_server/server/core/server_context.py +42 -0
- holado_test/tools/test_server/server/core/server_manager.py +41 -0
- holado_test/tools/test_server/server/requirements.txt +2 -0
- holado_test/tools/test_server/server/rest/README +2 -0
- holado_test/tools/test_server/server/rest/api/__init__.py +24 -0
- holado_test/tools/test_server/server/rest/api/campaign/__init__.py +32 -0
- holado_test/tools/test_server/server/rest/api/campaign/scenario.py +40 -0
- holado_test/tools/test_server/server/rest/initialize_holado.py +72 -0
- holado_test/tools/test_server/server/rest/logging.conf +51 -0
- holado_test/tools/test_server/server/rest/openapi.yaml +57 -0
- holado_test/tools/test_server/server/rest/run.py +41 -0
- holado_test/tools/test_server/server/run.sh +6 -0
- holado_test/tools/test_server/server/run_test_server_in_docker.sh +104 -0
- holado_tools/__init__.py +38 -0
- holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.py +36 -0
- holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_processes.sh +6 -0
- holado_tools/scripts/execute_persisted_post_processes/initialize_holado.py +62 -0
- holado_tools/tests/behave/steps/__init__.py +16 -0
- holado_tools/tests/behave/steps/tools/host_controller/client_steps.py +97 -0
- holado_tools/tools/host_controller/client/rest/host_controller_client.py +275 -0
- holado_tools/tools/host_controller/server/Dockerfile +60 -0
- holado_tools/tools/host_controller/server/requirements.txt +2 -0
- holado_tools/tools/host_controller/server/rest/README +2 -0
- holado_tools/tools/host_controller/server/rest/api/__init__.py +24 -0
- holado_tools/tools/host_controller/server/rest/api/config.py +88 -0
- holado_tools/tools/host_controller/server/rest/api/docker/__init__.py +66 -0
- holado_tools/tools/host_controller/server/rest/api/docker/container.py +144 -0
- holado_tools/tools/host_controller/server/rest/api/docker/logs.py +66 -0
- holado_tools/tools/host_controller/server/rest/api/os.py +58 -0
- holado_tools/tools/host_controller/server/rest/initialize_holado.py +72 -0
- holado_tools/tools/host_controller/server/rest/openapi.yaml +561 -0
- holado_tools/tools/host_controller/server/rest/run.py +31 -0
- holado_tools/tools/host_controller/server/run_host_controller_in_docker.sh +107 -0
- holado_tools/tools/host_viewer/client/rest/host_viewer_client.py +190 -0
- holado_tools/tools/host_viewer/server/Dockerfile +60 -0
- holado_tools/tools/host_viewer/server/requirements.txt +2 -0
- holado_tools/tools/host_viewer/server/rest/README +2 -0
- holado_tools/tools/host_viewer/server/rest/api/__init__.py +24 -0
- holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py +65 -0
- holado_tools/tools/host_viewer/server/rest/api/docker/container.py +87 -0
- holado_tools/tools/host_viewer/server/rest/api/os.py +58 -0
- holado_tools/tools/host_viewer/server/rest/initialize_holado.py +72 -0
- holado_tools/tools/host_viewer/server/rest/openapi.yaml +301 -0
- holado_tools/tools/host_viewer/server/rest/run.py +31 -0
- holado_tools/tools/host_viewer/server/run_host_viewer_in_docker.sh +107 -0
- holado_value/__init__.py +24 -0
- holado_value/common/tables/comparators/table_2_value_table_cell_comparator.py +196 -0
- holado_value/common/tables/comparators/table_2_value_table_comparator.py +27 -0
- holado_value/common/tables/comparators/table_2_value_table_row_comparator.py +27 -0
- holado_value/common/tables/comparators/table_2_value_table_with_header_comparator.py +27 -0
- holado_value/common/tables/converters/value_table_converter.py +267 -0
- holado_value/common/tables/value_table.py +29 -0
- holado_value/common/tables/value_table_cell.py +76 -0
- holado_value/common/tables/value_table_manager.py +48 -0
- holado_value/common/tables/value_table_row.py +43 -0
- holado_value/common/tables/value_table_with_header.py +28 -0
- holado_value/common/tools/unique_value_manager.py +109 -0
- holado_value/common/tools/value.py +191 -0
- holado_value/common/tools/value_types.py +41 -0
- holado_value/tests/behave/steps/__init__.py +16 -0
- holado_value/tests/behave/steps/private/__init__.py +16 -0
- holado_ws/__init__.py +16 -0
- holado_ws/api/ws/TODO.txt +2 -0
- holado_ws/tests/behave/steps/__init__.py +16 -0
- holado_ws/tests/behave/steps/api/web_service_steps.py +189 -0
- holado_xml/__init__.py +38 -0
- holado_xml/tests/behave/steps/__init__.py +16 -0
- holado_xml/tests/behave/steps/private/__init__.py +16 -0
- holado_xml/xml/stream_xml_file.py +181 -0
- holado_xml/xml/xml_file.py +97 -0
- holado_xml/xml/xml_manager.py +35 -0
- holado_yaml/__init__.py +31 -0
- holado_yaml/tests/behave/steps/__init__.py +16 -0
- holado_yaml/tests/behave/steps/yaml_steps.py +161 -0
- holado_yaml/yaml/enums.py +28 -0
- holado_yaml/yaml/pyyaml/pyyaml_client.py +72 -0
- holado_yaml/yaml/ruamel/ruamel_yaml_client.py +80 -0
- holado_yaml/yaml/yaml_client.py +203 -0
- holado_yaml/yaml/yaml_manager.py +94 -0
- test_holado/Dockerfile_test_holado +82 -0
- test_holado/__init__.py +4 -0
- test_holado/__main__.py +25 -0
- test_holado/build_docker_image_to_test_holado_in_docker.sh +7 -0
- test_holado/environment.py +60 -0
- test_holado/features/Configuration/Actions/execute_persisted_post_processes.feature +13 -0
- test_holado/features/NonReg/api/REST.feature +26 -0
- test_holado/features/NonReg/api/gRPC.feature +116 -0
- test_holado/features/NonReg/common/multiprocessing/simple.feature +60 -0
- test_holado/features/NonReg/common/system/commands.feature +43 -0
- test_holado/features/NonReg/common/system/system.feature +20 -0
- test_holado/features/NonReg/common/tables/table.feature +245 -0
- test_holado/features/NonReg/common/tables/value_table_conversion.feature +29 -0
- test_holado/features/NonReg/common/tools/DateTime.feature +88 -0
- test_holado/features/NonReg/common/tools/UniqueValueManager.feature +43 -0
- test_holado/features/NonReg/holado_ais/ais_message-bitarray_to_nmea.feature +135 -0
- test_holado/features/NonReg/holado_ais/ais_message-nmea_raw_to_dict.feature +93 -0
- test_holado/features/NonReg/holado_ais/message_types/type-10.feature +38 -0
- test_holado/features/NonReg/holado_ais/message_types/type-12.feature +37 -0
- test_holado/features/NonReg/holado_ais/message_types/type-14.feature +36 -0
- test_holado/features/NonReg/holado_ais/message_types/type-15.feature +36 -0
- test_holado/features/NonReg/holado_ais/message_types/type-16.feature +38 -0
- test_holado/features/NonReg/holado_ais/message_types/type-17.feature +46 -0
- test_holado/features/NonReg/holado_ais/message_types/type-18.feature +37 -0
- test_holado/features/NonReg/holado_ais/message_types/type-19.feature +38 -0
- test_holado/features/NonReg/holado_ais/message_types/type-1_2_3.feature +42 -0
- test_holado/features/NonReg/holado_ais/message_types/type-20.feature +38 -0
- test_holado/features/NonReg/holado_ais/message_types/type-21.feature +37 -0
- test_holado/features/NonReg/holado_ais/message_types/type-22.feature +84 -0
- test_holado/features/NonReg/holado_ais/message_types/type-23.feature +49 -0
- test_holado/features/NonReg/holado_ais/message_types/type-24.feature +72 -0
- test_holado/features/NonReg/holado_ais/message_types/type-25.feature +143 -0
- test_holado/features/NonReg/holado_ais/message_types/type-26.feature +144 -0
- test_holado/features/NonReg/holado_ais/message_types/type-27.feature +36 -0
- test_holado/features/NonReg/holado_ais/message_types/type-4_11.feature +39 -0
- test_holado/features/NonReg/holado_ais/message_types/type-5.feature +33 -0
- test_holado/features/NonReg/holado_ais/message_types/type-6.feature +37 -0
- test_holado/features/NonReg/holado_ais/message_types/type-7_13.feature +43 -0
- test_holado/features/NonReg/holado_ais/message_types/type-8.feature +37 -0
- test_holado/features/NonReg/holado_ais/message_types/type-9.feature +37 -0
- test_holado/features/NonReg/holado_binary/bit_series.error.feature +33 -0
- test_holado/features/NonReg/holado_binary/bit_series.feature +144 -0
- test_holado/features/NonReg/holado_protobuf/protobuf.feature +291 -0
- test_holado/features/NonReg/holado_python/convert.feature +20 -0
- test_holado/features/NonReg/holado_python/iterable.feature +61 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_reset.feature +191 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_and_verify.feature +279 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_with_tls_without_verify.feature +299 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/local_echo_server/socket_without_tls.feature +163 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_mtls.feature +214 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature +184 -0
- test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_without_tls.feature +169 -0
- test_holado/features/NonReg/holado_scripting/common/tools/dynamic_text_manager.feature +18 -0
- test_holado/features/NonReg/holado_scripting/common/tools/expression_evaluator.feature +185 -0
- test_holado/features/NonReg/holado_scripting/common/tools/variable_manager.feature +71 -0
- test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.error.feature +21 -0
- test_holado/features/NonReg/holado_scripting/text/interpreter/interpreter.feature +120 -0
- test_holado/features/NonReg/holado_yaml/yaml.feature +514 -0
- test_holado/features/NonReg/ipc/json.feature +20 -0
- test_holado/features/NonReg/scenario/scenario.feature +183 -0
- test_holado/features/NonReg/test_steps/behave.feature +275 -0
- test_holado/features/NonReg/test_steps/common.feature +100 -0
- test_holado/features/NonReg/tools/RabbitMQ.feature +445 -0
- test_holado/features/NonReg/tools/RabbitMQ_steps.feature +276 -0
- test_holado/features/NonReg/tools/S3/boto3_client.feature +73 -0
- test_holado/features/NonReg/tools/S3/minio_client.feature +75 -0
- test_holado/features/NonReg/tools/db_sqlite3.feature +41 -0
- test_holado/features/NonReg/tools/sFTP.feature +25 -0
- test_holado/features/Test/logger.feature +28 -0
- test_holado/features/Test/test_host_controller.feature +13 -0
- test_holado/features/Test/test_parameter.feature +15 -0
- test_holado/features/__init__.py +0 -0
- test_holado/initialize_holado.py +62 -0
- test_holado/logging.conf +53 -0
- test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto +24 -0
- test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto +56 -0
- test_holado/resources/proto/generated/protobuf/custom_types/field_types_pb2.py +34 -0
- test_holado/resources/proto/generated/protobuf/protobuf/dev/tutorial/addressbook_pb2.py +34 -0
- test_holado/resources/scripts/list_tags.sh +2 -0
- test_holado/resources/scripts/update_resources_proto_generated.py +70 -0
- test_holado/steps/__init__.py +0 -0
- test_holado/steps/private_steps.py +20 -0
- test_holado/steps/public_steps.py +23 -0
- test_holado/test_holado_session_context.py +43 -0
- test_holado/tools/connexion/api_rest/openapi.yaml +16 -0
- test_holado/tools/connexion/api_rest/run.py +19 -0
- test_holado/tools/django/README.txt +3 -0
- test_holado/tools/django/api_grpc/api_grpc/__init__.py +0 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/__init__.py +0 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/admin.py +3 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/apps.py +6 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/migrations/__init__.py +0 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/models.py +3 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/proto/__init__.py +0 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/proto/account.proto +27 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2.py +33 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/proto/account_pb2_grpc.py +199 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/serializers.py +12 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/services.py +11 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/tests.py +3 -0
- test_holado/tools/django/api_grpc/api_grpc/api1/views.py +3 -0
- test_holado/tools/django/api_grpc/api_grpc/asgi.py +16 -0
- test_holado/tools/django/api_grpc/api_grpc/settings.py +126 -0
- test_holado/tools/django/api_grpc/api_grpc/urls.py +27 -0
- test_holado/tools/django/api_grpc/api_grpc/wsgi.py +16 -0
- test_holado/tools/django/api_grpc/db.sqlite3 +0 -0
- test_holado/tools/django/api_grpc/manage.py +29 -0
- test_holado/tools/django/api_grpc/manual_test_commands.txt +25 -0
- test_holado/tools/django/api_grpc/patch_djangogrpcframework.py +42 -0
- test_holado/tools/django/api_rest/api_rest/__init__.py +0 -0
- test_holado/tools/django/api_rest/api_rest/api1/__init__.py +0 -0
- test_holado/tools/django/api_rest/api_rest/api1/admin.py +3 -0
- test_holado/tools/django/api_rest/api_rest/api1/apps.py +6 -0
- test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py +0 -0
- test_holado/tools/django/api_rest/api_rest/api1/models.py +3 -0
- test_holado/tools/django/api_rest/api_rest/api1/serializers.py +15 -0
- test_holado/tools/django/api_rest/api_rest/api1/tests.py +3 -0
- test_holado/tools/django/api_rest/api_rest/api1/views.py +24 -0
- test_holado/tools/django/api_rest/api_rest/asgi.py +16 -0
- test_holado/tools/django/api_rest/api_rest/settings.py +133 -0
- test_holado/tools/django/api_rest/api_rest/urls.py +32 -0
- test_holado/tools/django/api_rest/api_rest/wsgi.py +16 -0
- test_holado/tools/django/api_rest/db.sqlite3 +0 -0
- test_holado/tools/django/api_rest/manage.py +22 -0
test_holado/features/NonReg/holado_python/standard_library/socket/tcpbin.com/socket_with_tls.feature
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@python
|
|
3
|
+
@socket
|
|
4
|
+
@tcpbin.com
|
|
5
|
+
@with_tls
|
|
6
|
+
Feature: Test python socket steps with tcpbin.com echo server and TLS
|
|
7
|
+
|
|
8
|
+
@blocking_socket
|
|
9
|
+
Scenario: Client with blocking connections
|
|
10
|
+
|
|
11
|
+
### PRECONDITIONS - BEGIN
|
|
12
|
+
Given begin preconditions
|
|
13
|
+
|
|
14
|
+
# Create a TCP client
|
|
15
|
+
Given CLIENT = new TCP socket client
|
|
16
|
+
| Name | Value |
|
|
17
|
+
| 'host' | 'tcpbin.com' |
|
|
18
|
+
| 'port' | 4243 |
|
|
19
|
+
| 'ssl.activate' | True |
|
|
20
|
+
| 'ssl.context.ciphers' | 'ALL' |
|
|
21
|
+
|
|
22
|
+
Given end preconditions
|
|
23
|
+
### PRECONDITIONS - END
|
|
24
|
+
|
|
25
|
+
# Start client
|
|
26
|
+
When ensure SSL handshake is done (socket: CLIENT)
|
|
27
|
+
|
|
28
|
+
# Write data and verify result is identical
|
|
29
|
+
When write b'\x01\x02\n' (socket: CLIENT)
|
|
30
|
+
When DATA = read (socket: CLIENT)
|
|
31
|
+
Then DATA == b'\x01\x02\n'
|
|
32
|
+
|
|
33
|
+
When write b'\x11\x21\n' (socket: CLIENT)
|
|
34
|
+
When DATA = read (socket: CLIENT)
|
|
35
|
+
Then DATA == b'\x11\x21\n'
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
@non_blocking_socket
|
|
40
|
+
Scenario: Client with non blocking connection
|
|
41
|
+
|
|
42
|
+
### PRECONDITIONS - BEGIN
|
|
43
|
+
Given begin preconditions
|
|
44
|
+
|
|
45
|
+
# Create a TCP client
|
|
46
|
+
Given CLIENT = new TCP socket client
|
|
47
|
+
| Name | Value |
|
|
48
|
+
| 'host' | 'tcpbin.com' |
|
|
49
|
+
| 'port' | 4243 |
|
|
50
|
+
| 'blocking' | False |
|
|
51
|
+
| 'ssl.activate' | True |
|
|
52
|
+
| 'ssl.context.ciphers' | 'ALL' |
|
|
53
|
+
|
|
54
|
+
Given end preconditions
|
|
55
|
+
### PRECONDITIONS - END
|
|
56
|
+
|
|
57
|
+
# Start client
|
|
58
|
+
When start (socket client: CLIENT)
|
|
59
|
+
|
|
60
|
+
# Write data and verify result is identical
|
|
61
|
+
When write b'\x01\x02\n' (socket: CLIENT)
|
|
62
|
+
When await socket CLIENT receives a data (timeout: 10 s)
|
|
63
|
+
When DATA = read (socket: CLIENT)
|
|
64
|
+
Then DATA == b'\x01\x02\n'
|
|
65
|
+
|
|
66
|
+
When write b'\x11\x21\n' (socket: CLIENT)
|
|
67
|
+
When await socket CLIENT receives a data (timeout: 10 s)
|
|
68
|
+
When DATA = read (socket: CLIENT)
|
|
69
|
+
Then DATA == b'\x11\x21\n'
|
|
70
|
+
|
|
71
|
+
# Stop client
|
|
72
|
+
When stop (socket client: CLIENT)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@message_socket
|
|
77
|
+
@blocking_socket
|
|
78
|
+
Scenario: Message client (with underlying blocking connection)
|
|
79
|
+
|
|
80
|
+
### PRECONDITIONS - BEGIN
|
|
81
|
+
Given begin preconditions
|
|
82
|
+
|
|
83
|
+
# Create a message client
|
|
84
|
+
Given CLIENT = new message TCP socket client
|
|
85
|
+
| Name | Value |
|
|
86
|
+
| 'host' | 'tcpbin.com' |
|
|
87
|
+
| 'port' | 4243 |
|
|
88
|
+
| 'separator' | b'\n' |
|
|
89
|
+
| 'ssl.activate' | True |
|
|
90
|
+
| 'ssl.context.ciphers' | 'ALL' |
|
|
91
|
+
|
|
92
|
+
Given end preconditions
|
|
93
|
+
### PRECONDITIONS - END
|
|
94
|
+
|
|
95
|
+
# Start message client
|
|
96
|
+
When ensure SSL handshake is done (socket: CLIENT)
|
|
97
|
+
When start (socket client: CLIENT)
|
|
98
|
+
|
|
99
|
+
# Write data and verify result is identical
|
|
100
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
101
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
102
|
+
|
|
103
|
+
# Verify received messages
|
|
104
|
+
When await socket CLIENT receives messages (first timeout: 10 s ; window: 0.1 s)
|
|
105
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
106
|
+
Then MESSAGES is list
|
|
107
|
+
| b'\x01\x02' |
|
|
108
|
+
| b'\x11\x21' |
|
|
109
|
+
|
|
110
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
111
|
+
Then MESSAGES_2 == MESSAGES
|
|
112
|
+
|
|
113
|
+
# Verify pop messages functionality
|
|
114
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
115
|
+
Then MSG_1 == b'\x01\x02'
|
|
116
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
117
|
+
Then MESSAGES_3 is list
|
|
118
|
+
| b'\x11\x21' |
|
|
119
|
+
|
|
120
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
121
|
+
Then MSG_2 == b'\x11\x21'
|
|
122
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
123
|
+
Then MESSAGES_4 is empty list
|
|
124
|
+
|
|
125
|
+
# Stop client
|
|
126
|
+
When stop (socket client: CLIENT)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
@message_socket
|
|
131
|
+
@non_blocking_socket
|
|
132
|
+
Scenario: Message client (with underlying non-blocking connection)
|
|
133
|
+
|
|
134
|
+
### PRECONDITIONS - BEGIN
|
|
135
|
+
Given begin preconditions
|
|
136
|
+
|
|
137
|
+
# Create a message client
|
|
138
|
+
Given CLIENT = new message TCP socket client
|
|
139
|
+
| Name | Value |
|
|
140
|
+
| 'host' | 'tcpbin.com' |
|
|
141
|
+
| 'port' | 4243 |
|
|
142
|
+
| 'separator' | b'\n' |
|
|
143
|
+
| 'blocking' | False |
|
|
144
|
+
| 'ssl.activate' | True |
|
|
145
|
+
| 'ssl.context.ciphers' | 'ALL' |
|
|
146
|
+
|
|
147
|
+
Given end preconditions
|
|
148
|
+
### PRECONDITIONS - END
|
|
149
|
+
|
|
150
|
+
# Start message client
|
|
151
|
+
When ensure SSL handshake is done (socket: CLIENT)
|
|
152
|
+
When start (socket client: CLIENT)
|
|
153
|
+
|
|
154
|
+
# Write data and verify result is identical
|
|
155
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
156
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
157
|
+
|
|
158
|
+
# Verify received messages
|
|
159
|
+
When await socket CLIENT receives messages (first timeout: 10 s ; window: 0.1 s)
|
|
160
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
161
|
+
Then MESSAGES is list
|
|
162
|
+
| b'\x01\x02' |
|
|
163
|
+
| b'\x11\x21' |
|
|
164
|
+
|
|
165
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
166
|
+
Then MESSAGES_2 == MESSAGES
|
|
167
|
+
|
|
168
|
+
# Verify pop messages functionality
|
|
169
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
170
|
+
Then MSG_1 == b'\x01\x02'
|
|
171
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
172
|
+
Then MESSAGES_3 is list
|
|
173
|
+
| b'\x11\x21' |
|
|
174
|
+
|
|
175
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
176
|
+
Then MSG_2 == b'\x11\x21'
|
|
177
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
178
|
+
Then MESSAGES_4 is empty list
|
|
179
|
+
|
|
180
|
+
# Stop client
|
|
181
|
+
When stop (socket client: CLIENT)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@python
|
|
3
|
+
@socket
|
|
4
|
+
@tcpbin.com
|
|
5
|
+
@without_tls
|
|
6
|
+
Feature: Test python socket steps with tcpbin.com echo server
|
|
7
|
+
|
|
8
|
+
@blocking_socket
|
|
9
|
+
Scenario: Client with blocking connections
|
|
10
|
+
|
|
11
|
+
### PRECONDITIONS - BEGIN
|
|
12
|
+
Given begin preconditions
|
|
13
|
+
|
|
14
|
+
Given CLIENT = new TCP socket client
|
|
15
|
+
| Name | Value |
|
|
16
|
+
| 'host' | 'tcpbin.com' |
|
|
17
|
+
| 'port' | 4242 |
|
|
18
|
+
|
|
19
|
+
Given end preconditions
|
|
20
|
+
### PRECONDITIONS - END
|
|
21
|
+
|
|
22
|
+
# Write data and verify result is identical
|
|
23
|
+
When write b'test 1\n' (socket: CLIENT)
|
|
24
|
+
When DATA = read (socket: CLIENT)
|
|
25
|
+
Then DATA == b'test 1\n'
|
|
26
|
+
|
|
27
|
+
When write b'test 2\n' (socket: CLIENT)
|
|
28
|
+
When DATA = read (socket: CLIENT)
|
|
29
|
+
Then DATA == b'test 2\n'
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
@non_blocking_socket
|
|
34
|
+
Scenario: Client with non blocking connections
|
|
35
|
+
|
|
36
|
+
### PRECONDITIONS - BEGIN
|
|
37
|
+
Given begin preconditions
|
|
38
|
+
|
|
39
|
+
Given CLIENT = new TCP socket client
|
|
40
|
+
| Name | Value |
|
|
41
|
+
| 'host' | 'tcpbin.com' |
|
|
42
|
+
| 'port' | 4242 |
|
|
43
|
+
| 'blocking' | False |
|
|
44
|
+
|
|
45
|
+
Given end preconditions
|
|
46
|
+
### PRECONDITIONS - END
|
|
47
|
+
|
|
48
|
+
# Start message client
|
|
49
|
+
When start (socket client: CLIENT)
|
|
50
|
+
|
|
51
|
+
# Write data and verify result is identical
|
|
52
|
+
When write b'test 1\n' (socket: CLIENT)
|
|
53
|
+
When await socket CLIENT receives a data
|
|
54
|
+
When DATA = read (socket: CLIENT)
|
|
55
|
+
Then DATA == b'test 1\n'
|
|
56
|
+
|
|
57
|
+
When write b'test 2\n' (socket: CLIENT)
|
|
58
|
+
When await socket CLIENT receives a data (timeout: 10 s)
|
|
59
|
+
When DATA = read (socket: CLIENT)
|
|
60
|
+
Then DATA == b'test 2\n'
|
|
61
|
+
|
|
62
|
+
# Stop client
|
|
63
|
+
When stop (socket client: CLIENT)
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
@message_socket
|
|
68
|
+
@blocking_socket
|
|
69
|
+
Scenario: Message client with blocking connection
|
|
70
|
+
|
|
71
|
+
### PRECONDITIONS - BEGIN
|
|
72
|
+
Given begin preconditions
|
|
73
|
+
|
|
74
|
+
# Create a message client
|
|
75
|
+
Given CLIENT = new message TCP socket client
|
|
76
|
+
| Name | Value |
|
|
77
|
+
| 'host' | 'tcpbin.com' |
|
|
78
|
+
| 'port' | 4242 |
|
|
79
|
+
| 'separator' | b'\n' |
|
|
80
|
+
|
|
81
|
+
Given end preconditions
|
|
82
|
+
### PRECONDITIONS - END
|
|
83
|
+
|
|
84
|
+
# Start message client
|
|
85
|
+
When start (socket client: CLIENT)
|
|
86
|
+
|
|
87
|
+
# Write data and verify result is identical
|
|
88
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
89
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
90
|
+
|
|
91
|
+
# Verify received messages
|
|
92
|
+
When await socket CLIENT receives messages (first timeout: 10 s ; window: 0.1 s)
|
|
93
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
94
|
+
Then MESSAGES is list
|
|
95
|
+
| b'\x01\x02' |
|
|
96
|
+
| b'\x11\x21' |
|
|
97
|
+
|
|
98
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
99
|
+
Then MESSAGES_2 == MESSAGES
|
|
100
|
+
|
|
101
|
+
# Verify pop messages functionality
|
|
102
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
103
|
+
Then MSG_1 == b'\x01\x02'
|
|
104
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
105
|
+
Then MESSAGES_3 is list
|
|
106
|
+
| b'\x11\x21' |
|
|
107
|
+
|
|
108
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
109
|
+
Then MSG_2 == b'\x11\x21'
|
|
110
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
111
|
+
Then MESSAGES_4 is empty list
|
|
112
|
+
|
|
113
|
+
# Stop server & client
|
|
114
|
+
When stop (socket client: CLIENT)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
@message_socket
|
|
119
|
+
@non_blocking_socket
|
|
120
|
+
Scenario: Message client with non blocking connection
|
|
121
|
+
|
|
122
|
+
### PRECONDITIONS - BEGIN
|
|
123
|
+
Given begin preconditions
|
|
124
|
+
|
|
125
|
+
# Create a message client
|
|
126
|
+
Given CLIENT = new message TCP socket client
|
|
127
|
+
| Name | Value |
|
|
128
|
+
| 'host' | 'tcpbin.com' |
|
|
129
|
+
| 'port' | 4242 |
|
|
130
|
+
| 'separator' | b'\n' |
|
|
131
|
+
| 'blocking' | False |
|
|
132
|
+
|
|
133
|
+
Given end preconditions
|
|
134
|
+
### PRECONDITIONS - END
|
|
135
|
+
|
|
136
|
+
# Start message client
|
|
137
|
+
When start (socket client: CLIENT)
|
|
138
|
+
|
|
139
|
+
# Write data and verify result is identical
|
|
140
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
141
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
142
|
+
|
|
143
|
+
# Verify received messages
|
|
144
|
+
When await socket CLIENT receives messages (first timeout: 10 s ; window: 0.1 s)
|
|
145
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
146
|
+
Then MESSAGES is list
|
|
147
|
+
| b'\x01\x02' |
|
|
148
|
+
| b'\x11\x21' |
|
|
149
|
+
|
|
150
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
151
|
+
Then MESSAGES_2 == MESSAGES
|
|
152
|
+
|
|
153
|
+
# Verify pop messages functionality
|
|
154
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
155
|
+
Then MSG_1 == b'\x01\x02'
|
|
156
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
157
|
+
Then MESSAGES_3 is list
|
|
158
|
+
| b'\x11\x21' |
|
|
159
|
+
|
|
160
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
161
|
+
Then MSG_2 == b'\x11\x21'
|
|
162
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
163
|
+
Then MESSAGES_4 is empty list
|
|
164
|
+
|
|
165
|
+
# Stop client
|
|
166
|
+
When stop (socket client: CLIENT)
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@DynamicTextManager
|
|
3
|
+
Feature: Features related to DynamicTextManager
|
|
4
|
+
|
|
5
|
+
Scenario: dynamic string compare
|
|
6
|
+
|
|
7
|
+
Given VAR = 'test'%
|
|
8
|
+
|
|
9
|
+
Then VAR == 'test'%
|
|
10
|
+
#Then VAR == '${MatchPattern(test[a-zA-Z0-9]{6})}'
|
|
11
|
+
Then VAR != 'test'
|
|
12
|
+
Then VAR < 'tesu'
|
|
13
|
+
|
|
14
|
+
Then 'test'% == VAR
|
|
15
|
+
#Then '${MatchPattern(test[a-zA-Z0-9]{6})}' == VAR
|
|
16
|
+
Then 'test' != VAR
|
|
17
|
+
Then 'test' < VAR
|
|
18
|
+
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@expression_evaluator
|
|
3
|
+
Feature: Features related to expression_evaluator
|
|
4
|
+
|
|
5
|
+
Scenario: Expressions in tables
|
|
6
|
+
|
|
7
|
+
Given VAL_5 = 5
|
|
8
|
+
Given VAL_9 = 9
|
|
9
|
+
Given VAL_10 = 10
|
|
10
|
+
Given VAL_11 = 11
|
|
11
|
+
Given VAL_20 = 20
|
|
12
|
+
|
|
13
|
+
#Given TABLE = table
|
|
14
|
+
#| Name | Value |
|
|
15
|
+
#| 'name' | VAL |
|
|
16
|
+
#| 'name +' | VAL + 1 |
|
|
17
|
+
#| 'name -' | VAL - 1 |
|
|
18
|
+
Given TABLE = convert json '{"name": 10, "name +": 11, "name -": 9}' to name/value table with names uncollapsed
|
|
19
|
+
|
|
20
|
+
Then table TABLE is
|
|
21
|
+
| Name | Value |
|
|
22
|
+
| 'name' | 10 |
|
|
23
|
+
| 'name +' | 11 |
|
|
24
|
+
| 'name -' | 9 |
|
|
25
|
+
|
|
26
|
+
Then table TABLE is
|
|
27
|
+
| Name | Value |
|
|
28
|
+
| 'name' | VAL_10 |
|
|
29
|
+
| 'name +' | ${VAL_10} + 1 |
|
|
30
|
+
| 'name -' | ${VAL_10} - 1 |
|
|
31
|
+
|
|
32
|
+
Then table TABLE is
|
|
33
|
+
| Name | Value |
|
|
34
|
+
| 'name' | ${VAL_9} + 1 |
|
|
35
|
+
| 'name +' | ${VAL_9} + 2 |
|
|
36
|
+
| 'name -' | ${VAL_11} - 2 |
|
|
37
|
+
|
|
38
|
+
Then table TABLE is
|
|
39
|
+
| Name | Value |
|
|
40
|
+
| 'name' | ${VAL_20} / 2 |
|
|
41
|
+
| 'name +' | ${VAL_5} * 2 + 1 |
|
|
42
|
+
| 'name -' | ${VAL_5} * 2 - 1 |
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
@expression_assignment
|
|
46
|
+
Scenario: Expressions in assignment
|
|
47
|
+
|
|
48
|
+
Given VAL = ${int(32)}
|
|
49
|
+
Then VAL == 32
|
|
50
|
+
|
|
51
|
+
Given VAL = ${32}
|
|
52
|
+
Then VAL == 32
|
|
53
|
+
|
|
54
|
+
Given VAL = ${128} >> 2
|
|
55
|
+
Then VAL == 32
|
|
56
|
+
|
|
57
|
+
Given X = 128
|
|
58
|
+
Given VAL = ${X} >> 2 if ${X} >= 64 else ${X} >> 1
|
|
59
|
+
Then VAL == 32
|
|
60
|
+
|
|
61
|
+
Given X = 32
|
|
62
|
+
Given VAL = ${X} >> 2 if ${X} >= 64 else ${X} >> 1
|
|
63
|
+
Then VAL == 16
|
|
64
|
+
|
|
65
|
+
Given X = 32
|
|
66
|
+
Given VAL = ${X} + 1
|
|
67
|
+
Then VAL == 33
|
|
68
|
+
|
|
69
|
+
Given LIST = [1, 2, 3]
|
|
70
|
+
Given INDEX = 1
|
|
71
|
+
Given VAL = ${LIST[${INDEX}]}
|
|
72
|
+
Then VAL == 2
|
|
73
|
+
|
|
74
|
+
Given LIST_STR = '[1, 2, 3]'
|
|
75
|
+
Given LIST = ${list(${LIST_STR})}
|
|
76
|
+
Given INDEX = 1
|
|
77
|
+
Given VAL = ${LIST[${INDEX}]}
|
|
78
|
+
Then VAL == 2
|
|
79
|
+
|
|
80
|
+
@timedelta
|
|
81
|
+
Scenario: timedelta
|
|
82
|
+
### PRECONDITIONS - BEGIN
|
|
83
|
+
Given begin preconditions
|
|
84
|
+
|
|
85
|
+
Given DT_1 = datetime now
|
|
86
|
+
Given DT_2 = DT_1 + 3 seconds
|
|
87
|
+
Given EXPECTED = ${datetime.timedelta(seconds=3)}
|
|
88
|
+
|
|
89
|
+
Given end preconditions
|
|
90
|
+
### PRECONDITIONS - END
|
|
91
|
+
|
|
92
|
+
Given DELTA = ${DT_2} - ${DT_1}
|
|
93
|
+
Then DELTA == EXPECTED
|
|
94
|
+
|
|
95
|
+
Scenario: Expressions in for and if
|
|
96
|
+
### PRECONDITIONS - BEGIN
|
|
97
|
+
Given begin preconditions
|
|
98
|
+
|
|
99
|
+
Given VAL_5 = 5
|
|
100
|
+
Given VAL_9 = 9
|
|
101
|
+
Given VAL_10 = 10
|
|
102
|
+
Given VAL_11 = 11
|
|
103
|
+
Given VAL_20 = 20
|
|
104
|
+
|
|
105
|
+
Given TABLE = convert json '{"name": 10, "name +": 11, "name -": 9}' to name/value table with names uncollapsed
|
|
106
|
+
|
|
107
|
+
Given end preconditions
|
|
108
|
+
### PRECONDITIONS - END
|
|
109
|
+
|
|
110
|
+
Given for N in range(0,2):
|
|
111
|
+
Given VAL_5_1 = ${VAL_5} - 1
|
|
112
|
+
Given VAL_5_N = ${VAL_5} - ${N}
|
|
113
|
+
|
|
114
|
+
Then VAL_5_1 == 4
|
|
115
|
+
Then table TABLE is
|
|
116
|
+
| Name | Value |
|
|
117
|
+
| 'name' | VAL_10 |
|
|
118
|
+
| 'name +' | ${VAL_10} + 1 |
|
|
119
|
+
| 'name -' | ${VAL_10} - 1 |
|
|
120
|
+
|
|
121
|
+
Given if ${N} == 0:
|
|
122
|
+
Then VAL_5_N == 5
|
|
123
|
+
|
|
124
|
+
Then table TABLE is
|
|
125
|
+
| Name | Value |
|
|
126
|
+
| 'name' | VAL_10 |
|
|
127
|
+
| 'name +' | ${VAL_10} + 1 |
|
|
128
|
+
| 'name -' | ${VAL_10} - 1 |
|
|
129
|
+
Given else:
|
|
130
|
+
Then VAL_5_N == 4
|
|
131
|
+
|
|
132
|
+
Then table TABLE is
|
|
133
|
+
| Name | Value |
|
|
134
|
+
| 'name' | VAL_10 |
|
|
135
|
+
| 'name +' | ${VAL_10} + ${N} |
|
|
136
|
+
| 'name -' | ${VAL_10} - ${N} |
|
|
137
|
+
Given end if
|
|
138
|
+
Given end for
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
@expression_if
|
|
142
|
+
Scenario: Expressions in if
|
|
143
|
+
### PRECONDITIONS - BEGIN
|
|
144
|
+
Given begin preconditions
|
|
145
|
+
|
|
146
|
+
Given VAL_5 = 5
|
|
147
|
+
Given VAL_9 = 9
|
|
148
|
+
Given VAL_10 = 10
|
|
149
|
+
Given VAL_11 = 11
|
|
150
|
+
Given VAL_20 = 20
|
|
151
|
+
|
|
152
|
+
Given TABLE = convert json '{"name": 10, "name +": 11, "name -": 9}' to name/value table with names uncollapsed
|
|
153
|
+
|
|
154
|
+
Given end preconditions
|
|
155
|
+
### PRECONDITIONS - END
|
|
156
|
+
|
|
157
|
+
Given INDEX = 2
|
|
158
|
+
Given N_2 = 5
|
|
159
|
+
Given if ${N_${INDEX}} == 3:
|
|
160
|
+
Given RESULT = 13
|
|
161
|
+
Given else if ${N_${INDEX}} == 5:
|
|
162
|
+
Given RESULT = 15
|
|
163
|
+
Given else:
|
|
164
|
+
Given RESULT = 10
|
|
165
|
+
Given end if
|
|
166
|
+
|
|
167
|
+
Then RESULT == 15
|
|
168
|
+
|
|
169
|
+
@string_evaluation
|
|
170
|
+
Scenario: String evaluation
|
|
171
|
+
Given INDEX = 3
|
|
172
|
+
Given TEXT = 'toto.tata[${INDEX}]'
|
|
173
|
+
Then TEXT == 'toto.tata[3]'
|
|
174
|
+
|
|
175
|
+
Given TABLE = table with header
|
|
176
|
+
| Name | Value |
|
|
177
|
+
| 'toto.tata[${INDEX}]' | 5 |
|
|
178
|
+
Then table TABLE is
|
|
179
|
+
| Name | Value |
|
|
180
|
+
| 'toto.tata[3]' | 5 |
|
|
181
|
+
|
|
182
|
+
Given TOTO = 'toto'
|
|
183
|
+
Given TEXT = 'TOTO.tata[${INDEX}]'
|
|
184
|
+
Then TEXT == 'TOTO.tata[3]'
|
|
185
|
+
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@VariableManager
|
|
3
|
+
Feature: Features related to VariableManager
|
|
4
|
+
|
|
5
|
+
Scenario: basic variable use
|
|
6
|
+
Given VAR1 = 'test'
|
|
7
|
+
Given VAR2 = VAR1
|
|
8
|
+
Then VAR1 == 'test'
|
|
9
|
+
Then VAR2 == 'test'
|
|
10
|
+
Then VAR1 == VAR2
|
|
11
|
+
|
|
12
|
+
Scenario: string compare
|
|
13
|
+
Then 'test' == 'test'
|
|
14
|
+
Then 'test' != 'test1'
|
|
15
|
+
Then 'test' <= 'test'
|
|
16
|
+
Then 'test' <= 'tesu'
|
|
17
|
+
Then 'test' < 'tesu'
|
|
18
|
+
|
|
19
|
+
Given VAR = 'test'
|
|
20
|
+
|
|
21
|
+
Then VAR == 'test'
|
|
22
|
+
Then VAR != 'test1'
|
|
23
|
+
Then VAR <= 'test'
|
|
24
|
+
Then VAR <= 'tesu'
|
|
25
|
+
Then VAR < 'tesu'
|
|
26
|
+
|
|
27
|
+
Then 'test' == VAR
|
|
28
|
+
Then 'test1' != VAR
|
|
29
|
+
Then 'test' <= VAR
|
|
30
|
+
Then 'tess' <= VAR
|
|
31
|
+
Then 'tess' < VAR
|
|
32
|
+
Then 'tesu' > VAR
|
|
33
|
+
|
|
34
|
+
@list
|
|
35
|
+
Scenario: List of ids
|
|
36
|
+
Given LISTVAR = list
|
|
37
|
+
| 1 |
|
|
38
|
+
| 0 |
|
|
39
|
+
| 5 |
|
|
40
|
+
|
|
41
|
+
Then [1, 0, 5] == ${LISTVAR}
|
|
42
|
+
Then '[1, 0, 5]' != ${LISTVAR}
|
|
43
|
+
Then '[1, 0, 5]' == '${LISTVAR}'
|
|
44
|
+
|
|
45
|
+
Then '[1, 0, 5]' == str(${LISTVAR})
|
|
46
|
+
# In next expression, after having casted to str, ${} makes an evaluation of obtained string, thus result of ${str(LISTVAR)} is a list
|
|
47
|
+
Then '[1, 0, 5]' != ${str(LISTVAR)}
|
|
48
|
+
Then [1, 0, 5] == ${str(LISTVAR)}
|
|
49
|
+
|
|
50
|
+
Scenario: Comprehension expression
|
|
51
|
+
Given LISTVAR = list(range(0,5))
|
|
52
|
+
Then LISTVAR == [0, 1, 2, 3, 4]
|
|
53
|
+
|
|
54
|
+
Given RES = list of ${X} * 2 for X in LISTVAR
|
|
55
|
+
Then RES == [0, 2, 4, 6, 8]
|
|
56
|
+
|
|
57
|
+
Scenario: Sorted
|
|
58
|
+
Given VAL = [2,4,0,3,1]
|
|
59
|
+
Given RES = sorted VAL
|
|
60
|
+
Then RES == [0, 1, 2, 3, 4]
|
|
61
|
+
|
|
62
|
+
Given VAL = [(0,2),(1,4),(2,0),(3,3),(4,1)]
|
|
63
|
+
Given RES = sorted VAL by x: x[1]
|
|
64
|
+
Then RES == [(2,0),(4,1),(0,2),(3,3),(1,4)]
|
|
65
|
+
|
|
66
|
+
Scenario: Call python builtin functions
|
|
67
|
+
Given VAL_FLOAT = 2.568
|
|
68
|
+
When VAL_INT = round(${VAL_FLOAT})
|
|
69
|
+
Then VAL_INT == 3
|
|
70
|
+
|
|
71
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@TextInterpreter
|
|
3
|
+
@error
|
|
4
|
+
Feature: Features related to TextInterpreter
|
|
5
|
+
|
|
6
|
+
@HexToBytes
|
|
7
|
+
Scenario: function HexToBytes
|
|
8
|
+
|
|
9
|
+
Given HEX = '\x2d569F'
|
|
10
|
+
Given next step shall fail on exception matching 'Source \[-569F\] \(type: str\) is not an hexadecimal string'
|
|
11
|
+
Given VALUE_1 = ${HexToBytes(HEX)}
|
|
12
|
+
|
|
13
|
+
Given TABLE = table with header
|
|
14
|
+
| Name | Value |
|
|
15
|
+
| 'test' | ${HexToBytes(HEX)} |
|
|
16
|
+
Given next step shall fail on exception matching 'Source \[-569F\] \(type: str\) is not an hexadecimal string'
|
|
17
|
+
Then table TABLE is
|
|
18
|
+
| Name | Value |
|
|
19
|
+
| 'test' | 'PIPO' |
|
|
20
|
+
|
|
21
|
+
|