holado 0.10.2__py3-none-any.whl → 0.11.1__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.
Potentially problematic release.
This version of holado might be problematic. Click here for more details.
- {holado-0.10.2.dist-info → holado-0.11.1.dist-info}/METADATA +1 -1
- {holado-0.10.2.dist-info → holado-0.11.1.dist-info}/RECORD +28 -54
- holado_docker/tests/behave/steps/__init__.py +1 -1
- holado_helper/docker/run_holado_test_nonreg_in_docker.sh +1 -1
- holado_helper/docker/run_terminal_in_docker.sh +1 -1
- holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
- holado_report/report/builders/summary_scenario_by_category_report_builder.py +87 -0
- holado_report/report/report_manager.py +5 -1
- holado_test/__init__.py +1 -1
- holado_test/{test_server → tools/test_server}/server/Dockerfile +7 -17
- holado_test/{test_server → tools/test_server}/server/core/server_context.py +1 -1
- holado_test/{test_server → tools/test_server}/server/rest/run.py +1 -1
- test_holado/features/Test/test_host_controller.feature +13 -0
- test_holado/logging.conf +1 -1
- holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py +0 -97
- holado_docker/tools/docker_controller/client/rest/docker_controller_client.py +0 -143
- holado_docker/tools/docker_controller/server/Dockerfile +0 -70
- holado_docker/tools/docker_controller/server/grpc/README +0 -2
- holado_docker/tools/docker_controller/server/grpc/__init__.py +0 -26
- holado_docker/tools/docker_controller/server/grpc/proto/compile_proto.py +0 -60
- holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_controler.proto +0 -63
- holado_docker/tools/docker_controller/server/requirements.txt +0 -2
- holado_docker/tools/docker_controller/server/rest/README +0 -2
- holado_docker/tools/docker_controller/server/rest/api/__init__.py +0 -40
- holado_docker/tools/docker_controller/server/rest/api/config.py +0 -57
- holado_docker/tools/docker_controller/server/rest/api/container.py +0 -55
- holado_docker/tools/docker_controller/server/rest/api/os.py +0 -47
- holado_docker/tools/docker_controller/server/rest/openapi.yaml +0 -265
- holado_docker/tools/docker_controller/server/rest/run.py +0 -31
- holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh +0 -102
- holado_docker/tools/docker_viewer/client/rest/docker_viewer_client.py +0 -40
- holado_docker/tools/docker_viewer/docker_viewer_manager.py +0 -44
- holado_docker/tools/docker_viewer/server/Dockerfile +0 -70
- holado_docker/tools/docker_viewer/server/requirements.txt +0 -2
- holado_docker/tools/docker_viewer/server/rest/README +0 -2
- holado_docker/tools/docker_viewer/server/rest/api/__init__.py +0 -40
- holado_docker/tools/docker_viewer/server/rest/initialize_holado.py +0 -72
- holado_docker/tools/docker_viewer/server/rest/openapi.yaml +0 -58
- holado_docker/tools/docker_viewer/server/rest/run.py +0 -31
- holado_docker/tools/docker_viewer/server/run_docker_viewer_in_docker.sh +0 -101
- holado_test/test_server/server/rest/initialize_holado.py +0 -72
- test_holado/features/Test/test_docker_controller.feature +0 -13
- {holado-0.10.2.dist-info → holado-0.11.1.dist-info}/WHEEL +0 -0
- {holado-0.10.2.dist-info → holado-0.11.1.dist-info}/licenses/LICENSE +0 -0
- /holado_test/{test_server → tools/test_server}/client/rest/test_server_client.py +0 -0
- /holado_test/{test_server → tools/test_server}/server/core/server_manager.py +0 -0
- /holado_test/{test_server → tools/test_server}/server/requirements.txt +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/README +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/api/__init__.py +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/api/campaign/__init__.py +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/api/campaign/scenario.py +0 -0
- {holado_docker/tools/docker_controller → holado_test/tools/test_server}/server/rest/initialize_holado.py +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/logging.conf +0 -0
- /holado_test/{test_server → tools/test_server}/server/rest/openapi.yaml +0 -0
- /holado_test/{test_server → tools/test_server}/server/run_test_server_in_docker.sh +0 -0
|
@@ -192,34 +192,7 @@ holado_django/tests/behave/steps/django_server_steps.py,sha256=XAnKDUXJxsZ4L7-PY
|
|
|
192
192
|
holado_docker/__init__.py,sha256=CtGYR7aEkaCdAHPDAsu_ErjpVtYE0yz9wbgbfRUwS8s,1574
|
|
193
193
|
holado_docker/sdk/docker/docker_client.py,sha256=rh1VLtcefIAZY88FMz7eyh1mFrWn3vVxop6TlC9t2sU,14138
|
|
194
194
|
holado_docker/sdk/docker/docker_service.py,sha256=SvMSIZ7XTCbC7q5rur03lJhJVSHL3uIq1dBQz9oDpkw,3767
|
|
195
|
-
holado_docker/tests/behave/steps/__init__.py,sha256=
|
|
196
|
-
holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py,sha256=6E_tI5YkIppszJXB8_E0B2OmyS6YxzhF4uB89sd6dLs,4809
|
|
197
|
-
holado_docker/tools/docker_controller/client/rest/docker_controller_client.py,sha256=s4tDe4JktpxZL_piGmtc5NnoMwy4PmstgAvsjwPFMjU,6239
|
|
198
|
-
holado_docker/tools/docker_controller/server/Dockerfile,sha256=zuSkj3HYDhvpjOSXmxL4oDqhN7dRB1YTX5Fyur1cuDY,1774
|
|
199
|
-
holado_docker/tools/docker_controller/server/requirements.txt,sha256=0RvLV3t2DyBR2FsbAd1WVEcbsVc6FVUN2horQJU4POo,57
|
|
200
|
-
holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh,sha256=HPNEv51CAgEm0KZ3b3fV4pHwv5v6VDQAwomTnnL4mxY,3421
|
|
201
|
-
holado_docker/tools/docker_controller/server/grpc/README,sha256=cNOly0Lfsfz_qyhTqLGmELOXzAgZbByNUowuYrUnJa0,132
|
|
202
|
-
holado_docker/tools/docker_controller/server/grpc/__init__.py,sha256=QBkE1ydbCvARUimeSY2PvBkZ-Jp0bCv6k_l89a_8zNw,1551
|
|
203
|
-
holado_docker/tools/docker_controller/server/grpc/proto/compile_proto.py,sha256=NjcStLaAO_zKcSprrcGscq3R_4anh55QeguXLq6SPjo,2191
|
|
204
|
-
holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_controler.proto,sha256=n9bsXaQfnZX-R5HvfquCVt3QjpFtDJSH6p8gnTjm06k,1650
|
|
205
|
-
holado_docker/tools/docker_controller/server/rest/README,sha256=-uqu3drdPXkPkU4ha1IKcXGBHFIBEWH-uiTT74DExwE,167
|
|
206
|
-
holado_docker/tools/docker_controller/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
207
|
-
holado_docker/tools/docker_controller/server/rest/openapi.yaml,sha256=8mhJdAYi-wftxdStsD6el0j1Zo8zqx1MzwqZndyKhMY,6864
|
|
208
|
-
holado_docker/tools/docker_controller/server/rest/run.py,sha256=4bEcRbobax-b8MugINb852Tdg6r-nQlfa8_bfil8xDE,2011
|
|
209
|
-
holado_docker/tools/docker_controller/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
|
|
210
|
-
holado_docker/tools/docker_controller/server/rest/api/config.py,sha256=Ln__1bsigSzJZ-Iy3MQgmiZMnpBxC3TCQE0O72g5cAs,2459
|
|
211
|
-
holado_docker/tools/docker_controller/server/rest/api/container.py,sha256=6D612WF4chpDCzr4MBzZXzELxi-yOwrgxCxSBBVMcVo,2673
|
|
212
|
-
holado_docker/tools/docker_controller/server/rest/api/os.py,sha256=EA3DCxGBCnMd2XJyn9kb6IWmtbaPIyv5UfZypCNzkhY,2123
|
|
213
|
-
holado_docker/tools/docker_viewer/docker_viewer_manager.py,sha256=tSLuIUdYjJoZIFUc1k4WnrRTUtjjTAmNTbrDmS-8SjI,2287
|
|
214
|
-
holado_docker/tools/docker_viewer/client/rest/docker_viewer_client.py,sha256=XNBt7QE-Elz9wUT32hdft7vU0ytcY8f-0AvlDZ8NWMo,2005
|
|
215
|
-
holado_docker/tools/docker_viewer/server/Dockerfile,sha256=012m7y_jg1Jh0NoqJSUTnmG9OppX2zlcFe-KhB71cVA,1750
|
|
216
|
-
holado_docker/tools/docker_viewer/server/requirements.txt,sha256=0RvLV3t2DyBR2FsbAd1WVEcbsVc6FVUN2horQJU4POo,57
|
|
217
|
-
holado_docker/tools/docker_viewer/server/run_docker_viewer_in_docker.sh,sha256=qwy4JErJvv09qgzp5yjEI4skVTsfQjHeu8NVxZmAKwU,3138
|
|
218
|
-
holado_docker/tools/docker_viewer/server/rest/README,sha256=1FMg-U_D9pUMBVmZJsirOXHFLTciDL5jB-Yqzp9U6uM,163
|
|
219
|
-
holado_docker/tools/docker_viewer/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
220
|
-
holado_docker/tools/docker_viewer/server/rest/openapi.yaml,sha256=ZBjVs7Ld1VCdTBk7FgZXEvUACtn6aDdv8cHDE669YZc,1715
|
|
221
|
-
holado_docker/tools/docker_viewer/server/rest/run.py,sha256=jgJgmFFdppadLBahWU8Yw8-PdA5HJzBTDCPTPHGRzbA,2007
|
|
222
|
-
holado_docker/tools/docker_viewer/server/rest/api/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
|
|
195
|
+
holado_docker/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
|
|
223
196
|
holado_examples/projects/server_rest/server_rest_example/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
224
197
|
holado_examples/projects/server_rest/server_rest_example/rest_server.py,sha256=xMLHBwGBdBvT0DYOpGBuvnSXNjEu3cvU9ty_h187QW4,1887
|
|
225
198
|
holado_examples/projects/server_rest/server_rest_example/rest_api/db.sqlite3,sha256=LBFAfNepksCk8npTt9QtnG7CVtDKbZM7kmy13wv1Er0,131072
|
|
@@ -272,8 +245,8 @@ holado_helper/debug/README.txt,sha256=kpsK1Ii5-t5pJCL9ChcEbZYyYTKt34fjKdiMC5DGOj
|
|
|
272
245
|
holado_helper/debug/memory/memory_profiler.py,sha256=Qu05N3uzntqm5S5XJMPdG9X0EFdagZS5poNQJPgZ-Iw,4659
|
|
273
246
|
holado_helper/docker/init_user.sh,sha256=vac-OUgsbSTIuO7MK4mpbtRZNGqHbNJGNm3Hk3W3FWQ,913
|
|
274
247
|
holado_helper/docker/logging.conf,sha256=PKFEwVhQriaaHZMnU3t5I9fGxuM1HFxUBRJ0NZVH-KE,1186
|
|
275
|
-
holado_helper/docker/run_holado_test_nonreg_in_docker.sh,sha256
|
|
276
|
-
holado_helper/docker/run_terminal_in_docker.sh,sha256=
|
|
248
|
+
holado_helper/docker/run_holado_test_nonreg_in_docker.sh,sha256=hUIWZr6NS7hsRBI0H6M8knuzGJMhcbzLuLbRT84huxA,4714
|
|
249
|
+
holado_helper/docker/run_terminal_in_docker.sh,sha256=5NW5-a9zz8w1zCJjbt6MIQUFwkdJyFvL7vYMs3O9iME,3415
|
|
277
250
|
holado_helper/holado_module_template/__init__.py,sha256=JzUm55NIkeBynu1RieZ3QfZGw8v4NfFDzz6HS-bN7r8,1798
|
|
278
251
|
holado_helper/holado_module_template/tests/behave/steps/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
|
|
279
252
|
holado_helper/holado_module_template/tests/behave/steps/private/__init__.py,sha256=BHp8TYE_X4lWn4B8A51nXSYaJlczuiDVJLcKMy7p0Lw,1267
|
|
@@ -363,8 +336,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
|
|
|
363
336
|
holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
|
|
364
337
|
holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
|
|
365
338
|
holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
|
|
366
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=
|
|
367
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=
|
|
339
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=irlQEaUfHPFbeDFcvZwtyneZxoM6s6KFLgXa6N_io6E,1237
|
|
340
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=fq0j9a8lrCUS8Jo6vS0a_FoZOwO5OfFb2Fa19u3xd9Y,1704
|
|
368
341
|
holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
|
|
369
342
|
holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
|
|
370
343
|
holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
|
|
@@ -394,7 +367,7 @@ holado_redis/tools/redis/redis_manager.py,sha256=tMO0XrCZTCfGdByFfgWXk9R-I_TUPLO
|
|
|
394
367
|
holado_report/__init__.py,sha256=3wtu5g9d4d-AICmLZclPQrw2MS-FJL9CyiVO1n2MYWA,1868
|
|
395
368
|
holado_report/campaign/campaign_manager.py,sha256=fZtxvtFc7_BZm3KGZNMYh0p8SJ-znEX89MlEY6Gp3aE,8748
|
|
396
369
|
holado_report/report/execution_historic.py,sha256=M4lYoZwyrSivRa17Q39GOAgROnr0oBvIZX5BNcO5Mnc,6951
|
|
397
|
-
holado_report/report/report_manager.py,sha256=
|
|
370
|
+
holado_report/report/report_manager.py,sha256=KiKMiZbjYa7-0yH8zs8KQdqz5VyZwwSAHizDYRwGGp8,16624
|
|
398
371
|
holado_report/report/analyze/execution_historic_manager.py,sha256=FMKKPguXOvWNxjF7Q8DodHHsH-2ci9pFzrTV41B8nL4,4556
|
|
399
372
|
holado_report/report/analyze/scenario_duration_manager.py,sha256=Preaxu83qFKGfbvQnzolhSXztZ4i5Zo_Bnxx8tNA80Q,12468
|
|
400
373
|
holado_report/report/builders/detailed_scenario_failed_report_builder.py,sha256=hOXxHYniL9mpN-U7YTW5xVEaE4Z-GlPq8ltT_iNJan4,7892
|
|
@@ -403,6 +376,7 @@ holado_report/report/builders/json_execution_historic_report_builder.py,sha256=M
|
|
|
403
376
|
holado_report/report/builders/report_builder.py,sha256=5qlhxbdTkSN7p9q6EADkpHQGPDVEHquIhgA3mK2Ck2k,2261
|
|
404
377
|
holado_report/report/builders/short_scenario_failed_report_builder.py,sha256=50pXhWX8xwIDZWSFaBejzMUlS9a0GRXqA82d84V3udk,4012
|
|
405
378
|
holado_report/report/builders/summary_report_builder.py,sha256=v4LG3W5x_y4FH0kh_5MRaG8pyPOV2GfhlBImsW4BJrs,3954
|
|
379
|
+
holado_report/report/builders/summary_scenario_by_category_report_builder.py,sha256=1rzuF4KFPzO5jFuvC_OKvsnNMRrzW3zG5nU5GUSux1U,4274
|
|
406
380
|
holado_report/report/builders/summary_scenario_failed_report_builder.py,sha256=uqf86SUAiIQLRQOV0A434oR8Bj4e_DtxqRsy-pe84p4,3063
|
|
407
381
|
holado_report/report/builders/summary_scenario_report_builder.py,sha256=ZtOg5SWgFUsOJyG-KLybT-8twTX3CwmuFTVIaWJXXZ8,3865
|
|
408
382
|
holado_report/report/reports/base_report.py,sha256=NGnWe66uyvT4bCjhd3upwVpc6yQ2gyVNFhcy-3LeQsE,6850
|
|
@@ -486,7 +460,7 @@ holado_system/tests/behave/steps/__init__.py,sha256=7LrCSTHk5oHNuEsr4IhJuNDsohtR
|
|
|
486
460
|
holado_system/tests/behave/steps/system/commands_steps.py,sha256=uYiojPpYPkfif8l8afRrJ0sj-wFBE4j1x67BDMNs76Q,3901
|
|
487
461
|
holado_system/tests/behave/steps/system/file_steps.py,sha256=-RPUGEjsYfzWIMRDiQRalmvspPZIPP8YMzSZvSI4-p8,9966
|
|
488
462
|
holado_system/tests/behave/steps/system/system_steps.py,sha256=2XrZwuAaYDjB_HvPgxZq9MpYB_Zo7FVZ0DYcmtKht2s,3778
|
|
489
|
-
holado_test/__init__.py,sha256=
|
|
463
|
+
holado_test/__init__.py,sha256=abDwvbUJHzY0WII3x6oBwMLOvZhG2o0nMpNdba6Lifw,1750
|
|
490
464
|
holado_test/test_config.py,sha256=yQK2jNHEGltGc3fmsAgcsKN4y3_nuldZHD45XEMrsQA,1575
|
|
491
465
|
holado_test/behave/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
492
466
|
holado_test/behave/behave.py,sha256=IiqT_F45C-xVY2T8sKDPV7NsFCiGNzb8xpoTaXD-PXg,17708
|
|
@@ -502,24 +476,24 @@ holado_test/common/context/step_context.py,sha256=jknJVU0OrzRaqlTJyhwBFjr9uKPe1d
|
|
|
502
476
|
holado_test/common/exceptions/undefined_step_exception.py,sha256=SHHX22iz4Ip-V4Y3aM2EJFDt30CCS5EaauN6KB-JORo,1461
|
|
503
477
|
holado_test/scenario/step_tools.py,sha256=iNay6tQPUi4sG-a8PY5LbbLpX0PRakkOj3ls98aEbHM,26375
|
|
504
478
|
holado_test/scenario/tester_tools.py,sha256=Tv035FyXPjQ46Ep8KuPOjOvzJFvxnbv9EsrSihUzAwg,2479
|
|
505
|
-
holado_test/test_server/client/rest/test_server_client.py,sha256=WJG-_FLSg1YuRXUBX-5RXd-97XEnUv1UfTvyvQnXLo4,5317
|
|
506
|
-
holado_test/test_server/server/Dockerfile,sha256=TR_xUU2YLmKYWeGUaRRZRhaBHKHa4Y_1nqQDquK843w,1744
|
|
507
|
-
holado_test/test_server/server/requirements.txt,sha256=c2iNG9IZZogAEC9oSWRTWEF9-OHW0vRtijPNK4P6_xY,45
|
|
508
|
-
holado_test/test_server/server/run_test_server_in_docker.sh,sha256=ISNvFT1dBM6aiw5Iv6yBhInn7L8ZYyz_7EDK_X1eCvk,3121
|
|
509
|
-
holado_test/test_server/server/core/server_context.py,sha256=aDl5rOJpxG9MT_jpymL0ST9z7FpoNOBAk5dLGAPGXas,1223
|
|
510
|
-
holado_test/test_server/server/core/server_manager.py,sha256=PW5ShUdnbdq6E3Ou87C5feXuJRc1V7qADkmGItLIi3A,2890
|
|
511
|
-
holado_test/test_server/server/rest/README,sha256=J_LIXWFxtxc8okQGZ8Kk0dMSRra9oUzbMP_ylCe4pTo,161
|
|
512
|
-
holado_test/test_server/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
513
|
-
holado_test/test_server/server/rest/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
|
|
514
|
-
holado_test/test_server/server/rest/openapi.yaml,sha256=4Juf_QggWo7z9te3_sS96TxxARWU1MtFkJZAilEsxr8,1027
|
|
515
|
-
holado_test/test_server/server/rest/run.py,sha256=xS_uCK7X3XqcuvpSSesW7xx9PE6FbFvwj0CqxBDWIks,2389
|
|
516
|
-
holado_test/test_server/server/rest/api/__init__.py,sha256=4QcsiWhFX0sGhJYuoqUUfwEYb6ceIDlFFlU1q3ls7Xc,1442
|
|
517
|
-
holado_test/test_server/server/rest/api/campaign/__init__.py,sha256=btZb20N5k7_WbowNAC1C7yYDUkwPnUU5QUmh-jO0bhg,1586
|
|
518
|
-
holado_test/test_server/server/rest/api/campaign/scenario.py,sha256=4eTIScEGL0GKD7g6aIPHJVvaVbwz487zlEg9mRQv84Y,1737
|
|
519
479
|
holado_test/tests/behave/steps/__init__.py,sha256=rdqrp-UN7vRplIqORx4sXyKwMUkptRizyLWudsmYehM,1362
|
|
520
480
|
holado_test/tests/behave/steps/scenario/exception_steps.py,sha256=ZIE92Dz7a6O_c0jAP_0dj6Hc0tnW6YRgNKd4_aBpeR0,4054
|
|
521
481
|
holado_test/tests/behave/steps/scenario/scenario_steps.py,sha256=RfM5Lh4sduKeYSD1NzUxtQ8705O7nausoz_gnpAJQB0,4616
|
|
522
482
|
holado_test/tests/behave/steps/scenario/tester_steps.py,sha256=zEm36-su8jrqe0uv8ai4xN97j3_p2jmcPv_-jRRu688,2997
|
|
483
|
+
holado_test/tools/test_server/client/rest/test_server_client.py,sha256=WJG-_FLSg1YuRXUBX-5RXd-97XEnUv1UfTvyvQnXLo4,5317
|
|
484
|
+
holado_test/tools/test_server/server/Dockerfile,sha256=CDhwKszWuA_aSHrwruvN5oAU6g67MXbSO-coHmDNL9c,1485
|
|
485
|
+
holado_test/tools/test_server/server/requirements.txt,sha256=c2iNG9IZZogAEC9oSWRTWEF9-OHW0vRtijPNK4P6_xY,45
|
|
486
|
+
holado_test/tools/test_server/server/run_test_server_in_docker.sh,sha256=ISNvFT1dBM6aiw5Iv6yBhInn7L8ZYyz_7EDK_X1eCvk,3121
|
|
487
|
+
holado_test/tools/test_server/server/core/server_context.py,sha256=90ZRSvWLkkuxZ7SB99SOPnLt_U9rRlXEvVSo4VVRnuM,1229
|
|
488
|
+
holado_test/tools/test_server/server/core/server_manager.py,sha256=PW5ShUdnbdq6E3Ou87C5feXuJRc1V7qADkmGItLIi3A,2890
|
|
489
|
+
holado_test/tools/test_server/server/rest/README,sha256=J_LIXWFxtxc8okQGZ8Kk0dMSRra9oUzbMP_ylCe4pTo,161
|
|
490
|
+
holado_test/tools/test_server/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
491
|
+
holado_test/tools/test_server/server/rest/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
|
|
492
|
+
holado_test/tools/test_server/server/rest/openapi.yaml,sha256=4Juf_QggWo7z9te3_sS96TxxARWU1MtFkJZAilEsxr8,1027
|
|
493
|
+
holado_test/tools/test_server/server/rest/run.py,sha256=OpDBkjBX_ZoNfwTWc2VV7dINALjp7ZrGUUiDaSEHQVU,2395
|
|
494
|
+
holado_test/tools/test_server/server/rest/api/__init__.py,sha256=4QcsiWhFX0sGhJYuoqUUfwEYb6ceIDlFFlU1q3ls7Xc,1442
|
|
495
|
+
holado_test/tools/test_server/server/rest/api/campaign/__init__.py,sha256=btZb20N5k7_WbowNAC1C7yYDUkwPnUU5QUmh-jO0bhg,1586
|
|
496
|
+
holado_test/tools/test_server/server/rest/api/campaign/scenario.py,sha256=4eTIScEGL0GKD7g6aIPHJVvaVbwz487zlEg9mRQv84Y,1737
|
|
523
497
|
holado_value/__init__.py,sha256=60VyLyWux76dFwn03uH4Fz3R6itf6fqKu0pQUdvwblU,1561
|
|
524
498
|
holado_value/common/tables/value_table.py,sha256=fJgb-HWdlMwHOAx5CS38sPiVrjGelEiQBbG9HuHqe-A,1726
|
|
525
499
|
holado_value/common/tables/value_table_cell.py,sha256=vCL8uSTEKOpI9G5f0epgJMArFxQidfWTCRHBZbdrsjc,3344
|
|
@@ -554,7 +528,7 @@ test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
|
|
|
554
528
|
test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
|
|
555
529
|
test_holado/environment.py,sha256=SLGJ2v1BoyP_s_KucvuQJLnWPzPJAD6cS4C8eBNaJW8,2381
|
|
556
530
|
test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
|
|
557
|
-
test_holado/logging.conf,sha256=
|
|
531
|
+
test_holado/logging.conf,sha256=vsCMsRnvSMHl6nBmRqG7kBYC3qshAcxiAg5iUUw1Udw,1318
|
|
558
532
|
test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
|
|
559
533
|
test_holado/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
560
534
|
test_holado/features/NonReg/api/REST.feature,sha256=yAhCpWk7HbHztkdwkfcU-TrfnJVoOzHvYMmk9pUy50A,689
|
|
@@ -620,7 +594,7 @@ test_holado/features/NonReg/tools/sFTP.feature,sha256=LWhkOSlvCGN90qx3zXSlZrgWZs
|
|
|
620
594
|
test_holado/features/NonReg/tools/S3/boto3_client.feature,sha256=mAGMcyQRSy3VSAzkGUKIGM00F_OD8hfXZv1JYWztpqU,3384
|
|
621
595
|
test_holado/features/NonReg/tools/S3/minio_client.feature,sha256=c2i36-ehegxQbBBKR57Y5TTmdJK6fV4tGI6ksvHtyA8,3778
|
|
622
596
|
test_holado/features/Test/logger.feature,sha256=Ptiq79z3P2aMNJYRSRuMvhArc_4P3Ey6Rv1RolGRIBw,531
|
|
623
|
-
test_holado/features/Test/
|
|
597
|
+
test_holado/features/Test/test_host_controller.feature,sha256=DTihcXDXY7-II0vcVvrMfPC51KexssB96fIgAPdpeYk,342
|
|
624
598
|
test_holado/features/Test/test_parameter.feature,sha256=Yu5RycNfqUWN2O7F5u52lGEydhALeG5NmSZnyifGbK4,378
|
|
625
599
|
test_holado/resources/proto/definitions/protobuf/custom_types/field_types.proto,sha256=d2QU_j-qKB6pdvUKQCGv-gSgBOPW6QcBaKrQMqZ_kNM,398
|
|
626
600
|
test_holado/resources/proto/definitions/protobuf/protobuf.dev/tutorial/addressbook.proto,sha256=rxzTe354X-R2UeKi6i7mjcTavPvQctLRPPrWYYsWZBU,1362
|
|
@@ -671,7 +645,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
|
|
|
671
645
|
test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
672
646
|
test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
|
|
673
647
|
test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
674
|
-
holado-0.
|
|
675
|
-
holado-0.
|
|
676
|
-
holado-0.
|
|
677
|
-
holado-0.
|
|
648
|
+
holado-0.11.1.dist-info/METADATA,sha256=GhN1BYdTrXpkc9x9nimJYj3xqk4EJLEgMmydezMtspM,7672
|
|
649
|
+
holado-0.11.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
650
|
+
holado-0.11.1.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
|
|
651
|
+
holado-0.11.1.dist-info/RECORD,,
|
|
@@ -109,7 +109,7 @@ echo
|
|
|
109
109
|
echo "Running tests (docker name: ${HOLADO_RUNNER_NAME})..."
|
|
110
110
|
echo
|
|
111
111
|
# Note: In bellow command, some non-regression scenarios are skipped, those currently not working when run in docker
|
|
112
|
-
docker run --rm -t $(docker info | grep -
|
|
112
|
+
docker run --rm -t $(docker info --format '{{.SecurityOptions}}' | grep -q rootless && echo -n "--user root" || echo -n "-u $(id -u ${USER}):$(id -g ${USER})") --name ${HOLADO_RUNNER_NAME} \
|
|
113
113
|
-v "${OUTPUT_DIR}":/output \
|
|
114
114
|
-v "${RESOURCES_DIR}":/resources \
|
|
115
115
|
${LOGGING_CONF_CMD} \
|
|
@@ -90,7 +90,7 @@ fi
|
|
|
90
90
|
echo
|
|
91
91
|
echo "Running tests (docker name: ${HOLADO_RUNNER_NAME})..."
|
|
92
92
|
echo
|
|
93
|
-
docker run --rm -it $(docker info | grep -
|
|
93
|
+
docker run --rm -it $(docker info --format '{{.SecurityOptions}}' | grep -q rootless && echo -n "--user root" || echo -n "-u $(id -u ${USER}):$(id -g ${USER})") --name ${HOLADO_RUNNER_NAME} \
|
|
94
94
|
-v "${OUTPUT_DIR}":/output \
|
|
95
95
|
-v "${RESOURCES_DIR}":/resources \
|
|
96
96
|
-e HOLADO_OUTPUT_BASEDIR=/output \
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
MIIDZTCCAk2gAwIBAgIBKjANBgkqhkiG9w0BAQsFADCBizELMAkGA1UEBhMCVVMx
|
|
3
3
|
CzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKDAZ0
|
|
4
4
|
Y3BiaW4xDDAKBgNVBAsMA29wczETMBEGA1UEAwwKdGNwYmluLmNvbTEjMCEGCSqG
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
FOLuMowBSAZfV5v82LmlaIIOvU/
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
5
|
+
SIb3DQEJARYUaGFycnliYWdkaUBnbWFpbC5jb20wHhcNMjUxMDIyMDkwOTA0WhcN
|
|
6
|
+
MjUxMDIzMDkwOTA0WjAcMRowGAYDVQQDDBF0Y3BiaW4uY29tLWNsaWVudDCCASIw
|
|
7
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxBxWBybXhqGWMhtI3vpad9SP9k
|
|
8
|
+
0IsZSIHRRPI27FU/kfoTfMrQayKVggdlyenD3OojsEfNd8mvjz9ApIpogouYgZD4
|
|
9
|
+
0zqHT8G4B15RASWP2K20WWNuKr7HgvraPwTbjDbtg8XU4kwgGOs1XftPhSi9N2DU
|
|
10
|
+
/O6sEkgprqpkNAAZvn8bHRTpDB4FMqbTmH3ojawtz6PeW4I9YJLvbYFYwmmYrNpD
|
|
11
|
+
L5pLnfyt6MS5/x5MGlpvcCaiQU3hWS8JOKpgP6XrIIsu65fQC+UU4MJIYg/StGPj
|
|
12
|
+
rJ7eRBUoi11tGMCfF38AtYUgdNXdVjDM93F+Oks8tVGSZ9d7cwQknKMUgwECAwEA
|
|
13
|
+
AaNCMEAwHQYDVR0OBBYEFBOraPFlFALkITNnlh3s4B564QvFMB8GA1UdIwQYMBaA
|
|
14
|
+
FOLuMowBSAZfV5v82LmlaIIOvU/DMA0GCSqGSIb3DQEBCwUAA4IBAQA/LgtD4+3x
|
|
15
|
+
myJUWPz8TAJ41zIK2AxUgLmlinQnKzvXdHFjJZtYQPxadOdZon7q3Jw7J2FpaQLh
|
|
16
|
+
cc1h9pKIVaPXiR6I4CStKzw6peBtKJ2oN6uaZpSCQza+TC7Bg50uMbJmW+ph8tkY
|
|
17
|
+
t2wmNFh6Q3+yC8kxQM5u0Cg2NDYGepwNhdUfVy1HpgLaM8Gr5gPSD01p1fyb7pcJ
|
|
18
|
+
MWBK0kK6f0JcxZsIvSVuDX4Fc51LppEqv1THL5G4q3sWacksy0VG/izxLgB3hXs1
|
|
19
|
+
VJBUWAMgbvAjAV15XCmvC3k5mMlyIrfXRO8uPpD5iIDdgQQJ5/Bo4UPFGJPOkLV3
|
|
20
|
+
OEqtvNchmuBf
|
|
21
21
|
-----END CERTIFICATE-----
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
-----BEGIN PRIVATE KEY-----
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
2
|
+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCsQcVgcm14ahlj
|
|
3
|
+
IbSN76WnfUj/ZNCLGUiB0UTyNuxVP5H6E3zK0GsilYIHZcnpw9zqI7BHzXfJr48/
|
|
4
|
+
QKSKaIKLmIGQ+NM6h0/BuAdeUQElj9ittFljbiq+x4L62j8E24w27YPF1OJMIBjr
|
|
5
|
+
NV37T4UovTdg1PzurBJIKa6qZDQAGb5/Gx0U6QweBTKm05h96I2sLc+j3luCPWCS
|
|
6
|
+
722BWMJpmKzaQy+aS538rejEuf8eTBpab3AmokFN4VkvCTiqYD+l6yCLLuuX0Avl
|
|
7
|
+
FODCSGIP0rRj46ye3kQVKItdbRjAnxd/ALWFIHTV3VYwzPdxfjpLPLVRkmfXe3ME
|
|
8
|
+
JJyjFIMBAgMBAAECggEBAIfNwqJrFEseuq0g4YwVJ3CIoYhYHuHLKRLPvZ+IFYKP
|
|
9
|
+
/7I8suHittQpMr5KTYly1TPytwOkxY/ITRL9D7ve8SzFK0D0KvO1wfdj8ss06caH
|
|
10
|
+
RbiMuvxc2m5WNLk4Xv6haEXVs1HAqDiEBaFKDbIX209m/cXlpRM1raQe2ImVPjnk
|
|
11
|
+
xtdzpLYgRIf4MHtjAI22knlsSgypay6cpUF+PArmgepmsIaw+ioy5ItSWTmvq8QU
|
|
12
|
+
9KhnEtdn8UOciLiP2rnLgql+qF8RCL9R/NTTZo+kC00AMEliQBFaLHsLHuFuAQwT
|
|
13
|
+
6X9ueOtEOAewWhhelScbfub5ZlVwvvWhawLqoyGiRZECgYEA1TAlMXhZCrtAIyk/
|
|
14
|
+
Q0dCbrMl24Mr6Yv+PC8Z9N/EC5UrddPwk2W4/L+e8kU6XyyJ4Gw3ZQgJd8gTb1/0
|
|
15
|
+
zpnaFXdK2VhyHxWz3UNzQ4lRuMVB1qK/5/yByqRhysKczzhufhf2XuIcDqiYsWHg
|
|
16
|
+
C4VwpQAQSp9Vbcpd1biXEv1O8AMCgYEAztliCAXlExU3DmcRWbV0RpIjREAm9f6w
|
|
17
|
+
uX8RRuFYZsHVY1pEkv5iACjofeZz9s/EC8QGo4ixcELEou5pFX1HYFyjjw2CwBmS
|
|
18
|
+
a63l5KJyQcChF2tkDaEFsspM0Tri001h8LpChep6cZK4CkHkJ3MTXD4mqa+vpYgr
|
|
19
|
+
RDUwZhdYu6sCgYBO0nE9/Dg3zonlNi/sySEX2ubpZXNL83W5fNTFBCLxAWNDOmxd
|
|
20
|
+
oyOlV5gGDXCKleYYcwp8MV+GyRPefwT9ikbm3uduutPfCGArM/AfDVuIzG4OVLhN
|
|
21
|
+
pr+6U9LQa+ocd8nqlyOBa2piRRXHp991gw3mA8MCRC0K3eKZzZkV7VBNTwKBgCTu
|
|
22
|
+
UP9ntgebMRJEOqfOquzyqJNF9O7Uw07LLhV+pF7sWqH7euTXwD2REDlyTOATJkiH
|
|
23
|
+
fjvyauPFOABzGpX4oSbGQ3mGCwMrTaYmDTat/kJZFynsRZfdWPwb/G0a22aomUT2
|
|
24
|
+
rGvmemgOrwc9znNwq1M70YFYWb7vOfJaoMKJhpEzAoGBAKQCWrZWZRBEeid9QsQ3
|
|
25
|
+
SVedImc8PN5IOC0vyydrkF5qV8LYsPmqMzfkOx0XAx6xrEUyjtSzZRgz/na1EzE6
|
|
26
|
+
juGFIBW30Dx3Ej2A/pKQ7/Yuhdrhl5Nd/Dv5sBgtziBeC+5PYI0XqCV7nIGGOu2/
|
|
27
|
+
8SjHFk7En45EM/cT8l/VahAv
|
|
28
28
|
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
|
|
2
|
+
#################################################
|
|
3
|
+
# HolAdo (Holistic Automation do)
|
|
4
|
+
#
|
|
5
|
+
# (C) Copyright 2021-2025 by Eric Klumpp
|
|
6
|
+
#
|
|
7
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
8
|
+
#
|
|
9
|
+
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
12
|
+
#################################################
|
|
13
|
+
|
|
14
|
+
import logging
|
|
15
|
+
from holado_report.report.builders.report_builder import ReportBuilder
|
|
16
|
+
from holado_system.system.filesystem.file import File
|
|
17
|
+
|
|
18
|
+
logger = logging.getLogger(__name__)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class SummaryScenarioByCategoryReportBuilder(ReportBuilder):
|
|
23
|
+
def __init__(self, filepath, exclude_categories=['Always Success']):
|
|
24
|
+
self.__filepath = filepath
|
|
25
|
+
self.__exclude_categories = exclude_categories
|
|
26
|
+
self.__scenarios_by_category = {}
|
|
27
|
+
self.__categories_order = [
|
|
28
|
+
'Regression',
|
|
29
|
+
'Always Failed',
|
|
30
|
+
'Random',
|
|
31
|
+
'Regression but Not Relevant',
|
|
32
|
+
'Always Not Relevant',
|
|
33
|
+
'Random but Not Relevant',
|
|
34
|
+
'Fixed',
|
|
35
|
+
'Always Success',
|
|
36
|
+
'Unknown'
|
|
37
|
+
]
|
|
38
|
+
|
|
39
|
+
def build(self):
|
|
40
|
+
'''
|
|
41
|
+
The file is built after each scenario
|
|
42
|
+
'''
|
|
43
|
+
pass
|
|
44
|
+
|
|
45
|
+
def after_scenario(self, scenario, scenario_report=None):
|
|
46
|
+
from holado_report.report.report_manager import ReportManager
|
|
47
|
+
category_validation, status_validation, step_failed, step_number = ReportManager.get_current_scenario_status_information(scenario)
|
|
48
|
+
|
|
49
|
+
if category_validation is not None:
|
|
50
|
+
ind = category_validation.find(' (')
|
|
51
|
+
category = category_validation[:ind] if ind > 0 else category_validation
|
|
52
|
+
|
|
53
|
+
# Manage excluded categories
|
|
54
|
+
if category in self.__exclude_categories:
|
|
55
|
+
return
|
|
56
|
+
|
|
57
|
+
# Add scenario information into category
|
|
58
|
+
category_str = f" => {category_validation}" if category_validation else ""
|
|
59
|
+
if step_failed is not None:
|
|
60
|
+
scenario_txt = f"scenario in {scenario.filename} at l.{scenario.line} - step {step_number} (l.{step_failed.line}) - {status_validation}{category_str}"
|
|
61
|
+
else:
|
|
62
|
+
scenario_txt = f"scenario in {scenario.filename} at l.{scenario.line} - step ? (missing step implementation ?) - {status_validation}{category_str}"
|
|
63
|
+
|
|
64
|
+
if category not in self.__scenarios_by_category:
|
|
65
|
+
self.__scenarios_by_category[category] = []
|
|
66
|
+
self.__scenarios_by_category[category].append(scenario_txt)
|
|
67
|
+
|
|
68
|
+
# Update categories order with unexpected category
|
|
69
|
+
if category not in self.__categories_order:
|
|
70
|
+
self.__categories_order.append(category)
|
|
71
|
+
|
|
72
|
+
self.__update_file()
|
|
73
|
+
|
|
74
|
+
def __update_file(self):
|
|
75
|
+
with File(self.__filepath, mode='wt', auto_flush=False) as fout:
|
|
76
|
+
for category in self.__categories_order:
|
|
77
|
+
if category in self.__scenarios_by_category:
|
|
78
|
+
fout.writelines([
|
|
79
|
+
f"## {category}",
|
|
80
|
+
""
|
|
81
|
+
])
|
|
82
|
+
fout.writelines(self.__scenarios_by_category[category])
|
|
83
|
+
fout.writelines([
|
|
84
|
+
""
|
|
85
|
+
""
|
|
86
|
+
])
|
|
87
|
+
|
|
@@ -23,6 +23,7 @@ from holado_report.report.reports.base_report import BaseReport
|
|
|
23
23
|
from holado_scripting.common.tools.evaluate_parameters import EvaluateParameters
|
|
24
24
|
from holado_report.report.builders.summary_scenario_report_builder import SummaryScenarioReportBuilder
|
|
25
25
|
from holado_report.report.builders.failure_report_builder import FailureReportBuilder
|
|
26
|
+
from holado_report.report.builders.summary_scenario_by_category_report_builder import SummaryScenarioByCategoryReportBuilder
|
|
26
27
|
# from holado_core.scenario.scenario_duration_manager import ScenarioDurationManager
|
|
27
28
|
|
|
28
29
|
logger = logging.getLogger(__name__)
|
|
@@ -66,6 +67,9 @@ class ReportManager(BaseReport):
|
|
|
66
67
|
fn = self.get_path("report_summary_scenario_failed.txt")
|
|
67
68
|
self.add_report_builder(SummaryScenarioFailedReportBuilder(fn))
|
|
68
69
|
|
|
70
|
+
fn = self.get_path("report_summary_scenario_failed_by_category.txt")
|
|
71
|
+
self.add_report_builder(SummaryScenarioByCategoryReportBuilder(fn))
|
|
72
|
+
|
|
69
73
|
fn = self.get_path("report_summary_scenario_all.txt")
|
|
70
74
|
self.add_report_builder(SummaryScenarioReportBuilder(fn))
|
|
71
75
|
|
|
@@ -283,7 +287,7 @@ class ReportManager(BaseReport):
|
|
|
283
287
|
else:
|
|
284
288
|
category = f'Unknown (unmanaged sequence: {passed_sequences})'
|
|
285
289
|
|
|
286
|
-
logger.
|
|
290
|
+
logger.debug(f"Category of scenario '{scenario}': {category} (computed from last statuses: {statuses})")
|
|
287
291
|
|
|
288
292
|
cls._scenario_status_information_by_uid[scenario_uid] = [category, status, step_failed, step_nb]
|
|
289
293
|
|
holado_test/__init__.py
CHANGED
|
@@ -23,7 +23,7 @@ def register():
|
|
|
23
23
|
from holado_test.behave.behave_manager import BehaveManager
|
|
24
24
|
SessionContext.instance().services.register_service_type("behave_manager", BehaveManager)
|
|
25
25
|
|
|
26
|
-
from holado_test.test_server.client.rest.test_server_client import TestServerClient
|
|
26
|
+
from holado_test.tools.test_server.client.rest.test_server_client import TestServerClient
|
|
27
27
|
SessionContext.instance().services.register_service_type("test_server_client", TestServerClient.new_client)
|
|
28
28
|
|
|
29
29
|
|
|
@@ -1,20 +1,14 @@
|
|
|
1
1
|
### Build
|
|
2
2
|
|
|
3
3
|
#FROM python:3.12.9-alpine3.21 AS build
|
|
4
|
-
FROM python:3.12.11-alpine3.22 AS build
|
|
4
|
+
#FROM python:3.12.11-alpine3.22 AS build
|
|
5
|
+
FROM python:3.12.12-alpine3.22 AS build
|
|
5
6
|
|
|
6
7
|
# Install to build python requirements
|
|
7
8
|
RUN apk update \
|
|
8
9
|
&& apk --no-cache --update add build-base \
|
|
9
10
|
&& apk --update add alpine-sdk \
|
|
10
|
-
&& apk add libffi-dev
|
|
11
|
-
&& apk add postgresql-dev gcc python3-dev musl-dev \
|
|
12
|
-
&& apk add protobuf-dev
|
|
13
|
-
|
|
14
|
-
# Add tools
|
|
15
|
-
RUN apk --no-cache add bash \
|
|
16
|
-
&& apk --no-cache add nano \
|
|
17
|
-
&& apk --no-cache add curl
|
|
11
|
+
&& apk add libffi-dev
|
|
18
12
|
|
|
19
13
|
# Create user
|
|
20
14
|
RUN addgroup appuser \
|
|
@@ -32,19 +26,15 @@ COPY --chown=appuser ./requirements.txt /code/test_server/requirements.txt
|
|
|
32
26
|
WORKDIR /code/test_server
|
|
33
27
|
RUN python -m venv /code/env \
|
|
34
28
|
&& source /code/env/bin/activate \
|
|
35
|
-
&& pip install -r requirements.txt
|
|
29
|
+
&& pip install --no-cache-dir -r requirements.txt
|
|
36
30
|
|
|
37
31
|
|
|
38
32
|
|
|
39
33
|
### Runtime
|
|
40
34
|
|
|
41
35
|
#FROM python:3.12.9-alpine3.21 AS runtime
|
|
42
|
-
FROM python:3.12.11-alpine3.22 AS runtime
|
|
43
|
-
|
|
44
|
-
# Install for python requirements
|
|
45
|
-
#RUN apk update \
|
|
46
|
-
# && apk --no-cache add libstdc++ \
|
|
47
|
-
# && apk --no-cache add postgresql-dev gcc python3-dev musl-dev
|
|
36
|
+
#FROM python:3.12.11-alpine3.22 AS runtime
|
|
37
|
+
FROM python:3.12.12-alpine3.22 AS runtime
|
|
48
38
|
|
|
49
39
|
# Add tools
|
|
50
40
|
RUN apk --no-cache add bash \
|
|
@@ -59,7 +49,7 @@ USER appuser
|
|
|
59
49
|
# Copy /code from build
|
|
60
50
|
COPY --chown=appuser --from=build /code /code
|
|
61
51
|
|
|
62
|
-
# Copy
|
|
52
|
+
# Copy test server sources
|
|
63
53
|
COPY --chown=appuser ./rest /code/test_server
|
|
64
54
|
|
|
65
55
|
# Activate permanently python venv
|
|
@@ -21,7 +21,7 @@ class TestServerSessionContext(SessionContext):
|
|
|
21
21
|
|
|
22
22
|
# Register new modules
|
|
23
23
|
|
|
24
|
-
from holado_test.test_server.server.core.server_manager import TestServerManager
|
|
24
|
+
from holado_test.tools.test_server.server.core.server_manager import TestServerManager
|
|
25
25
|
self.services.register_service_type("server_manager", TestServerManager,
|
|
26
26
|
lambda m: m.initialize(self.resource_manager) )
|
|
27
27
|
|
|
@@ -23,7 +23,7 @@ insert_holado_source_paths(with_test_behave=False)
|
|
|
23
23
|
|
|
24
24
|
# Initialize HolAdo
|
|
25
25
|
import holado
|
|
26
|
-
from holado_test.test_server.server.core.server_context import TestServerSessionContext
|
|
26
|
+
from holado_test.tools.test_server.server.core.server_context import TestServerSessionContext
|
|
27
27
|
holado.initialize(TSessionContext=TestServerSessionContext,
|
|
28
28
|
logging_config_file_path=os.path.join(here, 'logging.conf'), log_level=logging.INFO,
|
|
29
29
|
log_on_console=True, log_in_file=False,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
@testing_solution
|
|
2
|
+
@host_controller
|
|
3
|
+
Feature: Test Host Controller client
|
|
4
|
+
|
|
5
|
+
Scenario: List containers
|
|
6
|
+
|
|
7
|
+
Given CLIENT = new Host Controller client
|
|
8
|
+
| Name | Value |
|
|
9
|
+
| 'url' | 'http://localhost:51231' |
|
|
10
|
+
|
|
11
|
+
Given RESULT = list containers (Host Controller client: CLIENT)
|
|
12
|
+
|
|
13
|
+
|
test_holado/logging.conf
CHANGED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
|
|
3
|
-
#################################################
|
|
4
|
-
# HolAdo (Holistic Automation do)
|
|
5
|
-
#
|
|
6
|
-
# (C) Copyright 2021-2025 by Eric Klumpp
|
|
7
|
-
#
|
|
8
|
-
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
9
|
-
#
|
|
10
|
-
# The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
11
|
-
|
|
12
|
-
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
13
|
-
#################################################
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
from holado.common.context.session_context import SessionContext
|
|
17
|
-
from holado_test.behave.behave import * # @UnusedWildImport
|
|
18
|
-
import logging
|
|
19
|
-
from holado_test.scenario.step_tools import StepTools
|
|
20
|
-
from holado_test.behave.scenario.behave_step_tools import BehaveStepTools
|
|
21
|
-
from holado_value.common.tables.converters.value_table_converter import ValueTableConverter
|
|
22
|
-
from holado_docker.tools.docker_controller.client.rest.docker_controller_client import DockerControllerClient
|
|
23
|
-
|
|
24
|
-
logger = logging.getLogger(__name__)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def __get_scenario_context():
|
|
28
|
-
return SessionContext.instance().get_scenario_context()
|
|
29
|
-
|
|
30
|
-
def __get_variable_manager():
|
|
31
|
-
return __get_scenario_context().get_variable_manager()
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
@Given(r"(?P<var_name>{Variable}) = new Docker Controller client")
|
|
35
|
-
def step_impl(context, var_name):
|
|
36
|
-
var_name = StepTools.evaluate_variable_name(var_name)
|
|
37
|
-
table = BehaveStepTools.get_step_table(context)
|
|
38
|
-
if table is not None:
|
|
39
|
-
kwargs = ValueTableConverter.convert_name_value_table_2_dict(table)
|
|
40
|
-
else:
|
|
41
|
-
kwargs = {}
|
|
42
|
-
|
|
43
|
-
res = DockerControllerClient.new_client(**kwargs)
|
|
44
|
-
|
|
45
|
-
__get_variable_manager().register_variable(var_name, res)
|
|
46
|
-
|
|
47
|
-
@Step(r"(?P<var_name>{Variable}) = list containers \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
48
|
-
def step_impl(context, var_name, var_client):
|
|
49
|
-
var_name = StepTools.evaluate_variable_name(var_name)
|
|
50
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
51
|
-
|
|
52
|
-
res = client.get_containers_status()
|
|
53
|
-
|
|
54
|
-
__get_variable_manager().register_variable(var_name, res)
|
|
55
|
-
|
|
56
|
-
@Step(r"(?P<var_name>{Variable}) = get information on container (?P<name>{Str}) \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
57
|
-
def step_impl(context, var_name, name, var_client):
|
|
58
|
-
var_name = StepTools.evaluate_variable_name(var_name)
|
|
59
|
-
name = StepTools.evaluate_scenario_parameter(name)
|
|
60
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
61
|
-
|
|
62
|
-
res = client.get_container_info(name)
|
|
63
|
-
|
|
64
|
-
__get_variable_manager().register_variable(var_name, res)
|
|
65
|
-
|
|
66
|
-
@Step(r"(?:(?P<or_start_str>start or ))?restart container (?P<name>{Str}) \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
67
|
-
def step_impl(context, or_start_str, name, var_client):
|
|
68
|
-
or_start = or_start_str is not None
|
|
69
|
-
name = StepTools.evaluate_scenario_parameter(name)
|
|
70
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
71
|
-
|
|
72
|
-
client.restart_container(name, start_if_gone=or_start)
|
|
73
|
-
|
|
74
|
-
@Step(r"start container (?P<name>{Str}) \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
75
|
-
def step_impl(context, name, var_client):
|
|
76
|
-
name = StepTools.evaluate_scenario_parameter(name)
|
|
77
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
78
|
-
|
|
79
|
-
client.start_container(name)
|
|
80
|
-
|
|
81
|
-
@Step(r"stop container (?P<name>{Str})(?:(?P<if_started_str> if started))? \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
82
|
-
def step_impl(context, name, if_started_str, var_client):
|
|
83
|
-
name = StepTools.evaluate_scenario_parameter(name)
|
|
84
|
-
if_started = if_started_str is not None
|
|
85
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
86
|
-
|
|
87
|
-
client.stop_container(name, raise_if_gone=not if_started)
|
|
88
|
-
|
|
89
|
-
@Step(r"wait container (?P<name>{Str})(?:(?P<if_started_str> if started))? \(Docker Controller client: (?P<var_client>{Variable})\)")
|
|
90
|
-
def step_impl(context, name, if_started_str, var_client):
|
|
91
|
-
name = StepTools.evaluate_scenario_parameter(name)
|
|
92
|
-
if_started = if_started_str is not None
|
|
93
|
-
client = StepTools.evaluate_variable_value(var_client)
|
|
94
|
-
|
|
95
|
-
client.wait_container(name, raise_if_gone=not if_started)
|
|
96
|
-
|
|
97
|
-
|