holado 0.10.2__py3-none-any.whl → 0.11.0__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.

Files changed (54) hide show
  1. {holado-0.10.2.dist-info → holado-0.11.0.dist-info}/METADATA +1 -1
  2. {holado-0.10.2.dist-info → holado-0.11.0.dist-info}/RECORD +26 -52
  3. holado_docker/tests/behave/steps/__init__.py +1 -1
  4. holado_python/standard_library/ssl/resources/certificates/tcpbin.crt +16 -16
  5. holado_python/standard_library/ssl/resources/certificates/tcpbin.key +26 -26
  6. holado_report/report/builders/summary_scenario_by_category_report_builder.py +87 -0
  7. holado_report/report/report_manager.py +5 -1
  8. holado_test/__init__.py +1 -1
  9. holado_test/{test_server → tools/test_server}/server/Dockerfile +6 -16
  10. holado_test/{test_server → tools/test_server}/server/core/server_context.py +1 -1
  11. holado_test/{test_server → tools/test_server}/server/rest/run.py +1 -1
  12. test_holado/features/Test/test_host_controller.feature +13 -0
  13. test_holado/logging.conf +1 -1
  14. holado_docker/tests/behave/steps/tools/docker_controller/client_steps.py +0 -97
  15. holado_docker/tools/docker_controller/client/rest/docker_controller_client.py +0 -143
  16. holado_docker/tools/docker_controller/server/Dockerfile +0 -70
  17. holado_docker/tools/docker_controller/server/grpc/README +0 -2
  18. holado_docker/tools/docker_controller/server/grpc/__init__.py +0 -26
  19. holado_docker/tools/docker_controller/server/grpc/proto/compile_proto.py +0 -60
  20. holado_docker/tools/docker_controller/server/grpc/proto/definitions/docker_controler.proto +0 -63
  21. holado_docker/tools/docker_controller/server/requirements.txt +0 -2
  22. holado_docker/tools/docker_controller/server/rest/README +0 -2
  23. holado_docker/tools/docker_controller/server/rest/api/__init__.py +0 -40
  24. holado_docker/tools/docker_controller/server/rest/api/config.py +0 -57
  25. holado_docker/tools/docker_controller/server/rest/api/container.py +0 -55
  26. holado_docker/tools/docker_controller/server/rest/api/os.py +0 -47
  27. holado_docker/tools/docker_controller/server/rest/openapi.yaml +0 -265
  28. holado_docker/tools/docker_controller/server/rest/run.py +0 -31
  29. holado_docker/tools/docker_controller/server/run_docker_controller_in_docker.sh +0 -102
  30. holado_docker/tools/docker_viewer/client/rest/docker_viewer_client.py +0 -40
  31. holado_docker/tools/docker_viewer/docker_viewer_manager.py +0 -44
  32. holado_docker/tools/docker_viewer/server/Dockerfile +0 -70
  33. holado_docker/tools/docker_viewer/server/requirements.txt +0 -2
  34. holado_docker/tools/docker_viewer/server/rest/README +0 -2
  35. holado_docker/tools/docker_viewer/server/rest/api/__init__.py +0 -40
  36. holado_docker/tools/docker_viewer/server/rest/initialize_holado.py +0 -72
  37. holado_docker/tools/docker_viewer/server/rest/openapi.yaml +0 -58
  38. holado_docker/tools/docker_viewer/server/rest/run.py +0 -31
  39. holado_docker/tools/docker_viewer/server/run_docker_viewer_in_docker.sh +0 -101
  40. holado_test/test_server/server/rest/initialize_holado.py +0 -72
  41. test_holado/features/Test/test_docker_controller.feature +0 -13
  42. {holado-0.10.2.dist-info → holado-0.11.0.dist-info}/WHEEL +0 -0
  43. {holado-0.10.2.dist-info → holado-0.11.0.dist-info}/licenses/LICENSE +0 -0
  44. /holado_test/{test_server → tools/test_server}/client/rest/test_server_client.py +0 -0
  45. /holado_test/{test_server → tools/test_server}/server/core/server_manager.py +0 -0
  46. /holado_test/{test_server → tools/test_server}/server/requirements.txt +0 -0
  47. /holado_test/{test_server → tools/test_server}/server/rest/README +0 -0
  48. /holado_test/{test_server → tools/test_server}/server/rest/api/__init__.py +0 -0
  49. /holado_test/{test_server → tools/test_server}/server/rest/api/campaign/__init__.py +0 -0
  50. /holado_test/{test_server → tools/test_server}/server/rest/api/campaign/scenario.py +0 -0
  51. {holado_docker/tools/docker_controller → holado_test/tools/test_server}/server/rest/initialize_holado.py +0 -0
  52. /holado_test/{test_server → tools/test_server}/server/rest/logging.conf +0 -0
  53. /holado_test/{test_server → tools/test_server}/server/rest/openapi.yaml +0 -0
  54. /holado_test/{test_server → tools/test_server}/server/run_test_server_in_docker.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: holado
3
- Version: 0.10.2
3
+ Version: 0.11.0
4
4
  Summary: HolAdo framework
5
5
  Project-URL: Homepage, https://gitlab.com/holado_framework/python
6
6
  Project-URL: Issues, https://gitlab.com/holado_framework/python/-/issues
@@ -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=lrP0btKLA3qQD2wp3zbOp0ug8RmgpaYWCrOAWehcPiI,1298
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
@@ -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=vD18qCn_hEkCOhFCiTudZnPaQ4huFMZVpA0PMChJv4c,1237
367
- holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=eQ2wHYKJkQfKHVDYA49pvtRIZvxuKonUHx54-05YXV4,1704
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=Xsiw8b5OW4QhMlyKSLMtP9fLydR-akzFkMkyy3bZtts,16272
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=vJtCQyCdqEdCukAiuD8D6L59rfpGmW2-hJmypGi1d00,1744
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=gjLXjz7toyCUhtUjrZAF77QucWVy_e5ebI2aBaB0Qjc,1470
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=au0QmrtF97ZxuVhgItHXdMLalkxAkxuWtgoOvGivfxc,1312
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/test_docker_controller.feature,sha256=OSD_ttaeoe9tyxQmQtadFlF6wjImsnfNukSx_dhuLaI,348
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.10.2.dist-info/METADATA,sha256=4_dqAlxXKA4_NttBQYpoNN-cSwaxpJurg1cwUVc4UIY,7672
675
- holado-0.10.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
676
- holado-0.10.2.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
677
- holado-0.10.2.dist-info/RECORD,,
648
+ holado-0.11.0.dist-info/METADATA,sha256=jgeXxMQkW9hPhsCkZoSWN_wgLsguag3f0_JWpDqbIGk,7672
649
+ holado-0.11.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
650
+ holado-0.11.0.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
651
+ holado-0.11.0.dist-info/RECORD,,
@@ -13,4 +13,4 @@
13
13
  #################################################
14
14
 
15
15
 
16
- from .tools.docker_controller.client_steps import *
16
+ # from .xxx import *
@@ -2,20 +2,20 @@
2
2
  MIIDZTCCAk2gAwIBAgIBKjANBgkqhkiG9w0BAQsFADCBizELMAkGA1UEBhMCVVMx
3
3
  CzAJBgNVBAgMAkNBMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMQ8wDQYDVQQKDAZ0
4
4
  Y3BiaW4xDDAKBgNVBAsMA29wczETMBEGA1UEAwwKdGNwYmluLmNvbTEjMCEGCSqG
5
- SIb3DQEJARYUaGFycnliYWdkaUBnbWFpbC5jb20wHhcNMjUxMDE2MjIzNTE5WhcN
6
- MjUxMDE3MjIzNTE5WjAcMRowGAYDVQQDDBF0Y3BiaW4uY29tLWNsaWVudDCCASIw
7
- DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMxmg8CRudZQj9pgRnvPQrWyqn1A
8
- 55RlXoax8OMEeEQHhreCOj69WV6K9OvHebbAtMNCEyXFwNUNX1XjlhhLcqhY5yLR
9
- 5k9vgOoq2ribBwdMRnYyIajWp7y53L/J35Qf2FWNeS+3AXv/mWiYnGpTJZHXCMyo
10
- wOgDqeqz5wzl8ncvj5HWBkZm/mPDwK6fR/4SXMv+NIBooUKGZTST/1Q75/tvPhwf
11
- dpGWTUd1xKw3TKz63B+jAATdPbIxTnSxJY1uLdBZ1hUguGxrC+nvqgY0283lVz3n
12
- Jz7P2BCwmwmgRwBLIUw1381QuFJjGlKSglw/HraIfVyJASQqEk2gVil5Gr8CAwEA
13
- AaNCMEAwHQYDVR0OBBYEFMQRuiY7hUUnl5wxL6R6gnlhyXaiMB8GA1UdIwQYMBaA
14
- FOLuMowBSAZfV5v82LmlaIIOvU/DMA0GCSqGSIb3DQEBCwUAA4IBAQBAX/CniZsN
15
- 9YWuDt7CS+YBpLRe46ryZXzmACpmz4uDzRs+3MRnCtOz1121dW0+zuPMdopxwjG2
16
- GyPirI1mDasoJDn5jRWP1NBvuFN7fcAVsMDi3vBMfzd+oV4Pcgi7uydcd0zX+onp
17
- 1QIyNwAulQB03gfe6IcPAUwyTOtJoc7yo1W6eH/W+RGmj5BaUP+5SB3EHjqih6ds
18
- xPc4yJ43N1gYsXRZDoYuqmy+/h0JQmFupPJRAbOFbh3IsunbLXvsKXzlrgKlhsCg
19
- H0Kc97t7ZQNCzgymNnxsbepNddWwGF8hAj4FruFYtO9rt00aT2bqb9Yw4pRJ+fM8
20
- nDVx1r7BCieF
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
- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDMZoPAkbnWUI/a
3
- YEZ7z0K1sqp9QOeUZV6GsfDjBHhEB4a3gjo+vVleivTrx3m2wLTDQhMlxcDVDV9V
4
- 45YYS3KoWOci0eZPb4DqKtq4mwcHTEZ2MiGo1qe8udy/yd+UH9hVjXkvtwF7/5lo
5
- mJxqUyWR1wjMqMDoA6nqs+cM5fJ3L4+R1gZGZv5jw8Cun0f+ElzL/jSAaKFChmU0
6
- k/9UO+f7bz4cH3aRlk1HdcSsN0ys+twfowAE3T2yMU50sSWNbi3QWdYVILhsawvp
7
- 76oGNNvN5Vc95yc+z9gQsJsJoEcASyFMNd/NULhSYxpSkoJcPx62iH1ciQEkKhJN
8
- oFYpeRq/AgMBAAECggEAUKjruSRIl6A3BFAVwGnrw1P8H21rdY4DHVg+3Pc4lm/5
9
- 45TKc1O5XqurNxgCmfG144/BiphdHjYmtvgWlQPA/VoH7B+0qQgxcTb0FQFoZqLc
10
- 82uZCM2cZ8dYq354cjWW4zvu5LttJIea/EGtB/BD1SdsW4cEiQpZFTtlJBvh8NHo
11
- 7+o0mPwwBrXmadsLlxDmhQ0Wsw4ltaK7eMBJlLalg9f/3uW4ArW0OXVK1ycszNXM
12
- 2pfrp9zKYcPzWEP+wrC/6f+AXFDacUIzwxsfNtlI7O57t8pQXf5pkyeBHHlxCvN/
13
- XYx+UBWip6tRnlZRqNvl/8NC0JpX9P8xaeNp21haAQKBgQD1rlkZ9umlmC9PB5oc
14
- Tp00KC5KQmgfqRfEBEVzmm4yGHK0OMx0pCnP/ZONZaE4QX4TmeLCnUxgYCdxl6ep
15
- 406g0i2ig7M+RZ18skh4ubpoiQlLIoNW2mOpV/Hzt53st0HAYogPubrVZAnn/KwA
16
- zehlj0w1yljBXDsK9c6deCdIgQKBgQDU/E12s8aCC0ngOSZqe0lkDWU/yQfX8BnJ
17
- cSA3dU1mwGzP+02N5AXZuxwUql1rjE45ERPISQ2+eHtUk3n7QH0+7KNRmj7Jk9xC
18
- QIN5lExdO3tAXo/muH6PCkyeNrkRSdfNgssYMVJZqbD8O5IM6v6yEbQHOxuskvvu
19
- uWRxQZTDPwKBgEfqcUqYbGx8z9xibUo7+Oh7mpFCPxiFdt96IJpmajtfzLPUrIS4
20
- SUUJBVgul7LP+Qfj0+0D/od3nhQyQHIKh8mrvJAF3UItPpxx06UDOP3An2fPAoM6
21
- ClJX3AtrhF72hdi6/vkbdQVh80RlQjQ6Ef0opTZZtQFk7iOXMJQHx/gBAoGAahxl
22
- T41Tifirzq1KaWSQ9OsDlZrHcJrrjgPxZA/qBxY5YAk440dGbuqcm+Mg9fMKCb5r
23
- V66lzU5jS4jKDhZcD9x/pakuPOmQo+VWW106Cn0W88Po967VRth/wZdL7sQWYwoV
24
- uzDfcVJsnc3j/tGZIQhW4/9b00fLgm0VEKP2xKsCgYEAkylyhMcTA9nuiBGecBFW
25
- fRbuL6tWcnj3b8lnNOoBFTp6uVSi7VTYcZttGP7zLa9v/LRegawpf1meOarn80Wo
26
- pz1Ot3ZEgx6iArdgdejSHbps58dTpoXp6YBlZR08G5tw2aHfppJYq2Vz3RLrv5Kf
27
- k6MQ4yJFgkb+8+cpvp3NxgA=
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.print(f"++++++++++ {category} <= {statuses}")
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 \
@@ -39,12 +33,8 @@ RUN python -m venv /code/env \
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 docker controller sources
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
@@ -36,7 +36,7 @@ holado_s3.tools.s3.minio_client.trace=INFO
36
36
 
37
37
  #holado_system=DEBUG
38
38
  #holado_test.behave.behave=DEBUG
39
- holado_test.test_server=DEBUG
39
+ holado_test.tools.test_server=DEBUG
40
40
  #holado_yaml=DEBUG
41
41
 
42
42
  # External libraries
@@ -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
-