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
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@python
|
|
3
|
+
Feature: Test python iterable steps
|
|
4
|
+
|
|
5
|
+
@is_in
|
|
6
|
+
Scenario: Get if an element is in an iterable
|
|
7
|
+
|
|
8
|
+
### PRECONDITIONS - BEGIN
|
|
9
|
+
Given begin preconditions
|
|
10
|
+
|
|
11
|
+
Given LIST_STR = ['v1', 'v2']
|
|
12
|
+
Given STR_IN = 'v1'
|
|
13
|
+
Given STR_NOT_IN = 'x'
|
|
14
|
+
|
|
15
|
+
Given end preconditions
|
|
16
|
+
### PRECONDITIONS - END
|
|
17
|
+
|
|
18
|
+
Given IS_IN = is 'v1' in ['v1', 'v2']
|
|
19
|
+
Then IS_IN == True
|
|
20
|
+
|
|
21
|
+
Given IS_IN = is 'xx' in ['v1', 'v2']
|
|
22
|
+
Then IS_IN == False
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
Given IS_IN = is STR_IN in LIST_STR
|
|
26
|
+
Then IS_IN == True
|
|
27
|
+
|
|
28
|
+
Given IS_IN = is STR_NOT_IN in LIST_STR
|
|
29
|
+
Then IS_IN == False
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
@then_is_in
|
|
33
|
+
Scenario: Verify that element is in an iterable
|
|
34
|
+
|
|
35
|
+
### PRECONDITIONS - BEGIN
|
|
36
|
+
Given begin preconditions
|
|
37
|
+
|
|
38
|
+
Given LIST_STR = ['v1', 'v2']
|
|
39
|
+
Given STR_IN = 'v1'
|
|
40
|
+
Given STR_NOT_IN = 'x'
|
|
41
|
+
|
|
42
|
+
Given end preconditions
|
|
43
|
+
### PRECONDITIONS - END
|
|
44
|
+
|
|
45
|
+
Then 'v1' is in ['v1', 'v2']
|
|
46
|
+
Then 'xx' is not in ['v1', 'v2']
|
|
47
|
+
|
|
48
|
+
Then STR_IN is in LIST_STR
|
|
49
|
+
Then STR_NOT_IN is not in LIST_STR
|
|
50
|
+
|
|
51
|
+
Given next step shall fail on exception matching 'VerifyException\(Value is in iterable:.*value: v1.*iterable: \['v1', 'v2'\]\)'
|
|
52
|
+
Then STR_IN is not in LIST_STR
|
|
53
|
+
|
|
54
|
+
Given next step shall fail on exception matching 'VerifyException\(Value is not in iterable:.*value: x.*iterable: \['v1', 'v2'\]\)'
|
|
55
|
+
Then STR_NOT_IN is in LIST_STR
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@python
|
|
3
|
+
@socket
|
|
4
|
+
Feature: Test python socket reset steps
|
|
5
|
+
|
|
6
|
+
@blocking_socket
|
|
7
|
+
@reset_data
|
|
8
|
+
Scenario: Reset received data (client with blocking connections)
|
|
9
|
+
|
|
10
|
+
### PRECONDITIONS - BEGIN
|
|
11
|
+
Given begin preconditions
|
|
12
|
+
|
|
13
|
+
Given PORT = first available anonymous port
|
|
14
|
+
Given SERVER = new echo TCP socket server
|
|
15
|
+
| Name | Value |
|
|
16
|
+
| 'host' | '127.0.0.1' |
|
|
17
|
+
| 'port' | PORT |
|
|
18
|
+
|
|
19
|
+
Given CLIENT = new TCP socket client
|
|
20
|
+
| Name | Value |
|
|
21
|
+
| 'host' | '127.0.0.1' |
|
|
22
|
+
| 'port' | PORT |
|
|
23
|
+
|
|
24
|
+
Given end preconditions
|
|
25
|
+
### PRECONDITIONS - END
|
|
26
|
+
|
|
27
|
+
# Start server & client
|
|
28
|
+
When start (socket server: SERVER)
|
|
29
|
+
When start (socket client: CLIENT)
|
|
30
|
+
|
|
31
|
+
# Write data and verify received data size
|
|
32
|
+
When write b'\x01\x02' (socket: CLIENT)
|
|
33
|
+
|
|
34
|
+
When await socket CLIENT receives data
|
|
35
|
+
When SIZE = size of received data (socket: CLIENT)
|
|
36
|
+
Then SIZE > 0
|
|
37
|
+
|
|
38
|
+
# Reset data and verify
|
|
39
|
+
Given reset stored received data in socket CLIENT
|
|
40
|
+
When SIZE = size of received data (socket: CLIENT)
|
|
41
|
+
Then SIZE == 0
|
|
42
|
+
|
|
43
|
+
# Stop server & client
|
|
44
|
+
#When stop (socket server: SERVER)
|
|
45
|
+
When stop (socket client: CLIENT)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@non_blocking_socket
|
|
50
|
+
@reset_data
|
|
51
|
+
Scenario: Reset received data (client with non blocking connections)
|
|
52
|
+
|
|
53
|
+
### PRECONDITIONS - BEGIN
|
|
54
|
+
Given begin preconditions
|
|
55
|
+
|
|
56
|
+
Given PORT = first available anonymous port
|
|
57
|
+
Given SERVER = new echo TCP socket server
|
|
58
|
+
| Name | Value |
|
|
59
|
+
| 'host' | '127.0.0.1' |
|
|
60
|
+
| 'port' | PORT |
|
|
61
|
+
|
|
62
|
+
Given CLIENT = new TCP socket client
|
|
63
|
+
| Name | Value |
|
|
64
|
+
| 'host' | '127.0.0.1' |
|
|
65
|
+
| 'port' | PORT |
|
|
66
|
+
| 'blocking' | False |
|
|
67
|
+
|
|
68
|
+
Given end preconditions
|
|
69
|
+
### PRECONDITIONS - END
|
|
70
|
+
|
|
71
|
+
# Start server & client
|
|
72
|
+
When start (socket server: SERVER)
|
|
73
|
+
When start (socket client: CLIENT)
|
|
74
|
+
|
|
75
|
+
# Write data and verify received data size
|
|
76
|
+
When write b'\x01\x02' (socket: CLIENT)
|
|
77
|
+
|
|
78
|
+
When await socket CLIENT receives data
|
|
79
|
+
When SIZE = size of received data (socket: CLIENT)
|
|
80
|
+
Then SIZE > 0
|
|
81
|
+
|
|
82
|
+
# Reset data and verify
|
|
83
|
+
Given reset stored received data in socket CLIENT
|
|
84
|
+
When SIZE = size of received data (socket: CLIENT)
|
|
85
|
+
Then SIZE == 0
|
|
86
|
+
|
|
87
|
+
# Stop server & client
|
|
88
|
+
#When stop (socket server: SERVER)
|
|
89
|
+
When stop (socket client: CLIENT)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@message_socket
|
|
94
|
+
@blocking_socket
|
|
95
|
+
@reset_messages
|
|
96
|
+
Scenario: Reset received messages (client with blocking connections)
|
|
97
|
+
|
|
98
|
+
### PRECONDITIONS - BEGIN
|
|
99
|
+
Given begin preconditions
|
|
100
|
+
|
|
101
|
+
# Use echo server with a blocking connection
|
|
102
|
+
Given PORT = first available anonymous port
|
|
103
|
+
Given SERVER = new echo TCP socket server
|
|
104
|
+
| Name | Value |
|
|
105
|
+
| 'host' | '127.0.0.1' |
|
|
106
|
+
| 'port' | PORT |
|
|
107
|
+
|
|
108
|
+
# Create a message client
|
|
109
|
+
Given CLIENT = new message TCP socket client
|
|
110
|
+
| Name | Value |
|
|
111
|
+
| 'host' | '127.0.0.1' |
|
|
112
|
+
| 'port' | PORT |
|
|
113
|
+
| 'separator' | b'\n' |
|
|
114
|
+
|
|
115
|
+
Given end preconditions
|
|
116
|
+
### PRECONDITIONS - END
|
|
117
|
+
|
|
118
|
+
# Start echo server & message client
|
|
119
|
+
When start (socket server: SERVER)
|
|
120
|
+
When start (socket client: CLIENT)
|
|
121
|
+
|
|
122
|
+
# Write data and verify result is identical
|
|
123
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
124
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
125
|
+
|
|
126
|
+
# Verify number of received messages
|
|
127
|
+
When await socket CLIENT receives messages (window: 0.1 s)
|
|
128
|
+
When NB_MSG = number of received messages (socket: CLIENT)
|
|
129
|
+
Then NB_MSG == 2
|
|
130
|
+
|
|
131
|
+
# Reset data and verify
|
|
132
|
+
Given reset stored received messages in socket CLIENT
|
|
133
|
+
When NB_MSG = number of received messages (socket: CLIENT)
|
|
134
|
+
Then NB_MSG == 0
|
|
135
|
+
|
|
136
|
+
# Stop server & client
|
|
137
|
+
#When stop (socket server: SERVER)
|
|
138
|
+
When stop (socket client: CLIENT)
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
@message_socket
|
|
143
|
+
@non_blocking_socket
|
|
144
|
+
@reset_messages
|
|
145
|
+
Scenario: Reset received messages (client with non blocking connections)
|
|
146
|
+
|
|
147
|
+
### PRECONDITIONS - BEGIN
|
|
148
|
+
Given begin preconditions
|
|
149
|
+
|
|
150
|
+
# Use echo server with a blocking connection
|
|
151
|
+
Given PORT = first available anonymous port
|
|
152
|
+
Given SERVER = new echo TCP socket server
|
|
153
|
+
| Name | Value |
|
|
154
|
+
| 'host' | '127.0.0.1' |
|
|
155
|
+
| 'port' | PORT |
|
|
156
|
+
|
|
157
|
+
# Create a message client
|
|
158
|
+
Given CLIENT = new message TCP socket client
|
|
159
|
+
| Name | Value |
|
|
160
|
+
| 'host' | '127.0.0.1' |
|
|
161
|
+
| 'port' | PORT |
|
|
162
|
+
| 'separator' | b'\n' |
|
|
163
|
+
| 'blocking' | False |
|
|
164
|
+
|
|
165
|
+
Given end preconditions
|
|
166
|
+
### PRECONDITIONS - END
|
|
167
|
+
|
|
168
|
+
# Start echo server & message client
|
|
169
|
+
When start (socket server: SERVER)
|
|
170
|
+
When start (socket client: CLIENT)
|
|
171
|
+
|
|
172
|
+
# Write data and verify result is identical
|
|
173
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
174
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
175
|
+
|
|
176
|
+
# Verify number of received messages
|
|
177
|
+
When await socket CLIENT receives messages (first timeout: 0.2 s ; window: 0.1 s)
|
|
178
|
+
When NB_MSG = number of received messages (socket: CLIENT)
|
|
179
|
+
Then NB_MSG == 2
|
|
180
|
+
|
|
181
|
+
# Reset data and verify
|
|
182
|
+
Given reset stored received messages in socket CLIENT
|
|
183
|
+
When NB_MSG = number of received messages (socket: CLIENT)
|
|
184
|
+
Then NB_MSG == 0
|
|
185
|
+
|
|
186
|
+
# Stop server & client
|
|
187
|
+
#When stop (socket server: SERVER)
|
|
188
|
+
When stop (socket client: CLIENT)
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@python
|
|
3
|
+
@socket
|
|
4
|
+
@ssl
|
|
5
|
+
@with_cert_file
|
|
6
|
+
Feature: Test python socket steps with ssl and cert files
|
|
7
|
+
|
|
8
|
+
@blocking_socket
|
|
9
|
+
Scenario: Server and client with blocking connections
|
|
10
|
+
|
|
11
|
+
### PRECONDITIONS - BEGIN
|
|
12
|
+
Given begin preconditions
|
|
13
|
+
|
|
14
|
+
# Generate key files
|
|
15
|
+
Given CERTFILE_PATH = path to file with name 'localhost.crt'
|
|
16
|
+
Given KEYFILE_PATH = path to file with name 'localhost.key'
|
|
17
|
+
Given generate new self-signed key files for localhost
|
|
18
|
+
| Name | Value |
|
|
19
|
+
| 'public_key_path' | CERTFILE_PATH |
|
|
20
|
+
| 'private_key_path' | KEYFILE_PATH |
|
|
21
|
+
| 'algorithm' | 'rsa:2048' |
|
|
22
|
+
|
|
23
|
+
# Use echo server with a blocking connection
|
|
24
|
+
Given PORT = first available anonymous port
|
|
25
|
+
Given SERVER = new echo TCP socket server
|
|
26
|
+
| Name | Value |
|
|
27
|
+
| 'host' | 'localhost' |
|
|
28
|
+
| 'port' | PORT |
|
|
29
|
+
| 'ssl.activate' | True |
|
|
30
|
+
| 'ssl.context.ciphers' | 'SHA256' |
|
|
31
|
+
| 'ssl.context.load_cert_chain.certfile' | CERTFILE_PATH |
|
|
32
|
+
| 'ssl.context.load_cert_chain.keyfile' | KEYFILE_PATH |
|
|
33
|
+
|
|
34
|
+
# Create a TCP client with a blocking connection
|
|
35
|
+
Given CLIENT = new TCP socket client
|
|
36
|
+
| Name | Value |
|
|
37
|
+
| 'host' | 'localhost' |
|
|
38
|
+
| 'port' | PORT |
|
|
39
|
+
| 'ssl.activate' | True |
|
|
40
|
+
| 'ssl.context.ciphers' | 'SHA256' |
|
|
41
|
+
| 'ssl.context.check_hostname' | True |
|
|
42
|
+
| 'ssl.context.load_verify_locations.cafile' | CERTFILE_PATH |
|
|
43
|
+
|
|
44
|
+
Given end preconditions
|
|
45
|
+
### PRECONDITIONS - END
|
|
46
|
+
|
|
47
|
+
# Start echo server
|
|
48
|
+
When start (socket server: SERVER)
|
|
49
|
+
When ensure SSL handshake is done (socket: CLIENT)
|
|
50
|
+
|
|
51
|
+
# Write data and verify result is identical
|
|
52
|
+
When write b'\x01\x02' (socket: CLIENT)
|
|
53
|
+
When DATA = read (socket: CLIENT)
|
|
54
|
+
Then DATA == b'\x01\x02'
|
|
55
|
+
|
|
56
|
+
When write b'\x11\x21' (socket: CLIENT)
|
|
57
|
+
When DATA = read (socket: CLIENT)
|
|
58
|
+
Then DATA == b'\x11\x21'
|
|
59
|
+
|
|
60
|
+
# Stop server
|
|
61
|
+
#When stop (socket server: SERVER)
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
@non_blocking_socket
|
|
65
|
+
Scenario: Server and client with non blocking connection
|
|
66
|
+
|
|
67
|
+
### PRECONDITIONS - BEGIN
|
|
68
|
+
Given begin preconditions
|
|
69
|
+
|
|
70
|
+
# Generate key files
|
|
71
|
+
Given CERTFILE_PATH = path to file with name 'localhost.crt'
|
|
72
|
+
Given KEYFILE_PATH = path to file with name 'localhost.key'
|
|
73
|
+
Given generate new self-signed key files for localhost
|
|
74
|
+
| Name | Value |
|
|
75
|
+
| 'public_key_path' | CERTFILE_PATH |
|
|
76
|
+
| 'private_key_path' | KEYFILE_PATH |
|
|
77
|
+
| 'algorithm' | 'rsa:2048' |
|
|
78
|
+
|
|
79
|
+
# Use echo server with a blocking connection
|
|
80
|
+
Given PORT = first available anonymous port
|
|
81
|
+
Given SERVER = new echo TCP socket server
|
|
82
|
+
| Name | Value |
|
|
83
|
+
| 'host' | 'localhost' |
|
|
84
|
+
| 'port' | PORT |
|
|
85
|
+
| 'ssl.activate' | True |
|
|
86
|
+
| 'ssl.context.ciphers' | 'SHA256' |
|
|
87
|
+
| 'ssl.context.load_cert_chain.certfile' | CERTFILE_PATH |
|
|
88
|
+
| 'ssl.context.load_cert_chain.keyfile' | KEYFILE_PATH |
|
|
89
|
+
|
|
90
|
+
# Create a TCP client with a blocking connection
|
|
91
|
+
Given CLIENT = new TCP socket client
|
|
92
|
+
| Name | Value |
|
|
93
|
+
| 'host' | 'localhost' |
|
|
94
|
+
| 'port' | PORT |
|
|
95
|
+
| 'blocking' | False |
|
|
96
|
+
| 'ssl.activate' | True |
|
|
97
|
+
| 'ssl.context.check_hostname' | True |
|
|
98
|
+
| 'ssl.context.load_verify_locations.cafile' | CERTFILE_PATH |
|
|
99
|
+
|
|
100
|
+
Given end preconditions
|
|
101
|
+
### PRECONDITIONS - END
|
|
102
|
+
|
|
103
|
+
# Start echo server & client
|
|
104
|
+
When start (socket server: SERVER)
|
|
105
|
+
When start (socket client: CLIENT)
|
|
106
|
+
|
|
107
|
+
# Write data and verify result is identical
|
|
108
|
+
When write b'\x01\x02' (socket: CLIENT)
|
|
109
|
+
When await socket CLIENT receives data (window: 0.1 s)
|
|
110
|
+
When DATA = read (socket: CLIENT)
|
|
111
|
+
Then DATA == b'\x01\x02'
|
|
112
|
+
|
|
113
|
+
When write b'\x11\x21' (socket: CLIENT)
|
|
114
|
+
When await socket CLIENT receives data (window: 0.1 s)
|
|
115
|
+
When DATA = read (socket: CLIENT)
|
|
116
|
+
Then DATA == b'\x11\x21'
|
|
117
|
+
|
|
118
|
+
# Stop server & client
|
|
119
|
+
#When stop (socket server: SERVER)
|
|
120
|
+
When stop (socket client: CLIENT)
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
@message_socket
|
|
125
|
+
@blocking_socket
|
|
126
|
+
Scenario: Echo server and message client (with underlying blocking connection)
|
|
127
|
+
|
|
128
|
+
### PRECONDITIONS - BEGIN
|
|
129
|
+
Given begin preconditions
|
|
130
|
+
|
|
131
|
+
# Generate key files
|
|
132
|
+
Given CERTFILE_PATH = path to file with name 'localhost.crt'
|
|
133
|
+
Given KEYFILE_PATH = path to file with name 'localhost.key'
|
|
134
|
+
Given generate new self-signed key files for localhost
|
|
135
|
+
| Name | Value |
|
|
136
|
+
| 'public_key_path' | CERTFILE_PATH |
|
|
137
|
+
| 'private_key_path' | KEYFILE_PATH |
|
|
138
|
+
| 'algorithm' | 'rsa:2048' |
|
|
139
|
+
|
|
140
|
+
# Use echo server with a blocking connection
|
|
141
|
+
Given PORT = first available anonymous port
|
|
142
|
+
Given SERVER = new echo TCP socket server
|
|
143
|
+
| Name | Value |
|
|
144
|
+
| 'host' | 'localhost' |
|
|
145
|
+
| 'port' | PORT |
|
|
146
|
+
| 'ssl.activate' | True |
|
|
147
|
+
| 'ssl.context.ciphers' | 'SHA256' |
|
|
148
|
+
| 'ssl.context.load_cert_chain.certfile' | CERTFILE_PATH |
|
|
149
|
+
| 'ssl.context.load_cert_chain.keyfile' | KEYFILE_PATH |
|
|
150
|
+
|
|
151
|
+
# Create a message client
|
|
152
|
+
Given CLIENT = new message TCP socket client
|
|
153
|
+
| Name | Value |
|
|
154
|
+
| 'host' | 'localhost' |
|
|
155
|
+
| 'port' | PORT |
|
|
156
|
+
| 'separator' | b'\n' |
|
|
157
|
+
| 'ssl.activate' | True |
|
|
158
|
+
| 'ssl.context.check_hostname' | True |
|
|
159
|
+
| 'ssl.context.load_verify_locations.cafile' | CERTFILE_PATH |
|
|
160
|
+
|
|
161
|
+
Given end preconditions
|
|
162
|
+
### PRECONDITIONS - END
|
|
163
|
+
|
|
164
|
+
# Start echo server & message client
|
|
165
|
+
When start (socket server: SERVER)
|
|
166
|
+
#When ensure SSL handshake is done (socket: CLIENT)
|
|
167
|
+
When start (socket client: CLIENT)
|
|
168
|
+
|
|
169
|
+
# Write data and verify result is identical
|
|
170
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
171
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
172
|
+
|
|
173
|
+
# Verify received messages
|
|
174
|
+
When await socket CLIENT receives messages (window: 0.1 s)
|
|
175
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
176
|
+
Then MESSAGES is list
|
|
177
|
+
| b'\x01\x02' |
|
|
178
|
+
| b'\x11\x21' |
|
|
179
|
+
|
|
180
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
181
|
+
Then MESSAGES_2 == MESSAGES
|
|
182
|
+
|
|
183
|
+
# Verify pop messages functionality
|
|
184
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
185
|
+
Then MSG_1 == b'\x01\x02'
|
|
186
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
187
|
+
Then MESSAGES_3 is list
|
|
188
|
+
| b'\x11\x21' |
|
|
189
|
+
|
|
190
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
191
|
+
Then MSG_2 == b'\x11\x21'
|
|
192
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
193
|
+
Then MESSAGES_4 is empty list
|
|
194
|
+
|
|
195
|
+
# Stop server & client
|
|
196
|
+
#When stop (socket server: SERVER)
|
|
197
|
+
# Note: currently, stop doesn't work with SSL and blocking connection
|
|
198
|
+
When stop (socket client: CLIENT)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
@message_socket
|
|
203
|
+
@non_blocking_socket
|
|
204
|
+
Scenario: Echo server and message client (with underlying non-blocking connection)
|
|
205
|
+
|
|
206
|
+
### PRECONDITIONS - BEGIN
|
|
207
|
+
Given begin preconditions
|
|
208
|
+
|
|
209
|
+
# Generate key files
|
|
210
|
+
Given CERTFILE_PATH = path to file with name 'localhost.crt'
|
|
211
|
+
Given KEYFILE_PATH = path to file with name 'localhost.key'
|
|
212
|
+
Given generate new self-signed key files for localhost
|
|
213
|
+
| Name | Value |
|
|
214
|
+
| 'public_key_path' | CERTFILE_PATH |
|
|
215
|
+
| 'private_key_path' | KEYFILE_PATH |
|
|
216
|
+
| 'algorithm' | 'rsa:2048' |
|
|
217
|
+
|
|
218
|
+
# Use echo server with a blocking connection
|
|
219
|
+
Given PORT = first available anonymous port
|
|
220
|
+
Given SERVER = new echo TCP socket server
|
|
221
|
+
| Name | Value |
|
|
222
|
+
| 'host' | 'localhost' |
|
|
223
|
+
| 'port' | PORT |
|
|
224
|
+
| 'ssl.activate' | True |
|
|
225
|
+
| 'ssl.context.ciphers' | 'SHA256' |
|
|
226
|
+
| 'ssl.context.load_cert_chain.certfile' | CERTFILE_PATH |
|
|
227
|
+
| 'ssl.context.load_cert_chain.keyfile' | KEYFILE_PATH |
|
|
228
|
+
|
|
229
|
+
# Create a message client
|
|
230
|
+
Given CLIENT = new message TCP socket client
|
|
231
|
+
| Name | Value |
|
|
232
|
+
| 'host' | 'localhost' |
|
|
233
|
+
| 'port' | PORT |
|
|
234
|
+
| 'separator' | b'\n' |
|
|
235
|
+
| 'blocking' | False |
|
|
236
|
+
| 'ssl.activate' | True |
|
|
237
|
+
| 'ssl.context.check_hostname' | True |
|
|
238
|
+
| 'ssl.context.load_verify_locations.cafile' | CERTFILE_PATH |
|
|
239
|
+
|
|
240
|
+
Given end preconditions
|
|
241
|
+
### PRECONDITIONS - END
|
|
242
|
+
|
|
243
|
+
# Start echo server & message client
|
|
244
|
+
When start (socket server: SERVER)
|
|
245
|
+
#When ensure SSL handshake is done (socket: CLIENT)
|
|
246
|
+
When start (socket client: CLIENT)
|
|
247
|
+
|
|
248
|
+
# Write data and verify result is identical
|
|
249
|
+
When write message b'\x01\x02' (socket: CLIENT)
|
|
250
|
+
When write message b'\x11\x21' (socket: CLIENT)
|
|
251
|
+
|
|
252
|
+
# Verify received messages
|
|
253
|
+
When await socket CLIENT receives messages (window: 0.1 s)
|
|
254
|
+
When MESSAGES = received messages (socket: CLIENT)
|
|
255
|
+
Then MESSAGES is list
|
|
256
|
+
| b'\x01\x02' |
|
|
257
|
+
| b'\x11\x21' |
|
|
258
|
+
|
|
259
|
+
When MESSAGES_2 = received messages (socket: CLIENT)
|
|
260
|
+
Then MESSAGES_2 == MESSAGES
|
|
261
|
+
|
|
262
|
+
# Verify pop messages functionality
|
|
263
|
+
When MSG_1 = read message (socket: CLIENT)
|
|
264
|
+
Then MSG_1 == b'\x01\x02'
|
|
265
|
+
When MESSAGES_3 = received messages (socket: CLIENT)
|
|
266
|
+
Then MESSAGES_3 is list
|
|
267
|
+
| b'\x11\x21' |
|
|
268
|
+
|
|
269
|
+
When MSG_2 = read message (socket: CLIENT)
|
|
270
|
+
Then MSG_2 == b'\x11\x21'
|
|
271
|
+
When MESSAGES_4 = received messages (socket: CLIENT)
|
|
272
|
+
Then MESSAGES_4 is empty list
|
|
273
|
+
|
|
274
|
+
# Stop server & client
|
|
275
|
+
#When stop (socket server: SERVER)
|
|
276
|
+
When stop (socket client: CLIENT)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|