holado 0.11.3__py3-none-any.whl → 0.11.4__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.11.3.dist-info → holado-0.11.4.dist-info}/METADATA +1 -1
- {holado-0.11.3.dist-info → holado-0.11.4.dist-info}/RECORD +20 -19
- holado_ais/ais/ais_messages.py +2 -2
- holado_ais/tests/behave/steps/ais/ais_messages_steps.py +1 -1
- holado_core/common/resource/persisted_method_to_call_manager.py +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_by_category_report_builder.py +86 -0
- holado_report/report/report_manager.py +4 -0
- holado_test/tools/test_server/client/rest/test_server_client.py +20 -0
- holado_test/tools/test_server/server/rest/api/__init__.py +6 -5
- holado_test/tools/test_server/server/rest/openapi.yaml +11 -0
- holado_tools/tools/host_controller/client/rest/host_controller_client.py +22 -0
- holado_tools/tools/host_controller/server/rest/api/__init__.py +8 -8
- holado_tools/tools/host_controller/server/rest/openapi.yaml +11 -0
- holado_tools/tools/host_viewer/server/rest/api/__init__.py +9 -7
- holado_tools/tools/host_viewer/server/rest/openapi.yaml +11 -0
- test_holado/environment.py +7 -0
- {holado-0.11.3.dist-info → holado-0.11.4.dist-info}/WHEEL +0 -0
- {holado-0.11.3.dist-info → holado-0.11.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -14,14 +14,14 @@ holado/common/tools/gc_manager.py,sha256=TjQg7MisGRhxuiQ22hB3IuqNhnWCVEWpU253-rO
|
|
|
14
14
|
holado_ais/__init__.py,sha256=Mudcgu_7p1hBDBs6LpSz757H4haB0yLHgT70sznG82c,1807
|
|
15
15
|
holado_ais/ais/MaritimeIdentificationDigits.csv,sha256=r-uHt4wOvxlbA26af9e-N3BKbuiMf6ia3PN0ZGfYk2A,8547
|
|
16
16
|
holado_ais/ais/ais_manager.py,sha256=QvN94JoUBbSXT08HABl2FNsAVOM-YCmQO5tN9COg6Rc,6496
|
|
17
|
-
holado_ais/ais/ais_messages.py,sha256=
|
|
17
|
+
holado_ais/ais/ais_messages.py,sha256=0jrhIFH6htUZkUinqKcPuUp2JMtnp0qKwYFAmUk-6w0,17414
|
|
18
18
|
holado_ais/ais/ais_payload.py,sha256=mdOa_4JIbkFLK4_KUmQF5jUt1nLxvZhmIcqK8i-YY6w,1791
|
|
19
19
|
holado_ais/ais/enums.py,sha256=bsqfJVg65fWiJwL_VlSKwKgTY0pLoDcI4T06aEOcQnw,1108
|
|
20
20
|
holado_ais/ais/patch_pyais.py,sha256=M4Fa8GZubXx4auRsk5I1yQPC40IR1p-1iVZIc4PXFfk,49850
|
|
21
21
|
holado_ais/tests/behave/steps/__init__.py,sha256=cM4YsjHIq0Tb9mTTJjvDojzhLwov6mc2RyjZz8XLVA8,1321
|
|
22
22
|
holado_ais/tests/behave/steps/ais/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
23
23
|
holado_ais/tests/behave/steps/ais/ais_manager_steps.py,sha256=nRtJUEyAzAqgm0UWwRUFAyOzhDxzRZKTGsEYU1DwE-Q,2170
|
|
24
|
-
holado_ais/tests/behave/steps/ais/ais_messages_steps.py,sha256=
|
|
24
|
+
holado_ais/tests/behave/steps/ais/ais_messages_steps.py,sha256=SJZlUyAvGOiEPjTa5qxrj_9y8ERcDJkmHcofzonvJDA,11741
|
|
25
25
|
holado_binary/__init__.py,sha256=Gl285tg-QaPE-3etWwZql9sH26G7EnVoQn97B0NMvOI,1248
|
|
26
26
|
holado_binary/ipc/binary.py,sha256=QYwK7jK4dzXRKprHMxnTxFljMy1LZDSXjMJ406yEOHk,5520
|
|
27
27
|
holado_binary/ipc/bit_series.py,sha256=PNuW_OXGV8yeRrMHxMPImR75np52KpcDOfXXdDKObWw,15508
|
|
@@ -98,7 +98,7 @@ holado_core/common/inspectors/tools/inspect_builder.py,sha256=v7azgwciXHtO-o7gcg
|
|
|
98
98
|
holado_core/common/inspectors/tools/inspect_context.py,sha256=lzhhO5HxG00c6uMPyIXEUz0FHA61VCNUZr_39ykZ8lQ,2700
|
|
99
99
|
holado_core/common/inspectors/tools/inspect_parameters.py,sha256=2vXUpnZlP2cCYTvI9ddI6NGhONideoM1hBJ0vGdvPKo,7346
|
|
100
100
|
holado_core/common/resource/persisted_data_manager.py,sha256=Thie2st70tFb2IDWb_3LeLx656WeiW5tpAkI4xc8wQA,6641
|
|
101
|
-
holado_core/common/resource/persisted_method_to_call_manager.py,sha256=
|
|
101
|
+
holado_core/common/resource/persisted_method_to_call_manager.py,sha256=xlP1xBPN0TdYrh1CBNyOU6EnzXp5KyXSJVTQC9ynlLQ,14188
|
|
102
102
|
holado_core/common/resource/resource_manager.py,sha256=VP86iQ7_NZzQQ0uUpeev1PjgiejUuwKbV5RfGCNC5tI,7179
|
|
103
103
|
holado_core/common/resource/table_data_manager.py,sha256=bigQGMwh1m3P6ZEO3wi2ftmvyEwpZhGbNCVtI794ops,6289
|
|
104
104
|
holado_core/common/tables/__init__.py,sha256=i2-gExPOUa_AnmEPgZJQ2lAXeK02PLpPnjEqbsgj1Co,8
|
|
@@ -336,8 +336,8 @@ holado_python/standard_library/ssl/resources/certificates/NOTES.txt,sha256=GlPGG
|
|
|
336
336
|
holado_python/standard_library/ssl/resources/certificates/localhost.crt,sha256=iLmZpDuOQVawUlbZkb72g2-uv1c4SAmRJOrm4Th5anY,1123
|
|
337
337
|
holado_python/standard_library/ssl/resources/certificates/localhost.key,sha256=lP2NCvB9mr2E5sk8whA8FyQRcyU6H7sdWkJeKz80Hyc,1704
|
|
338
338
|
holado_python/standard_library/ssl/resources/certificates/rootCACert.pem,sha256=ECQDZ8OHRfqpZHCu6JRLMUjiONaPIhKZQF0-kidVrWQ,1424
|
|
339
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=
|
|
340
|
-
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=
|
|
339
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.crt,sha256=wfv4sQssCQ8BGpJQGCrhSCB2jW1Te9rzWaqpnBM05Yc,1237
|
|
340
|
+
holado_python/standard_library/ssl/resources/certificates/tcpbin.key,sha256=yrGFLYQ1i12IUjwX8tp6Su1rMYZINA6dzUa76elo5h0,1704
|
|
341
341
|
holado_python/tests/behave/steps/__init__.py,sha256=TWEk-kBTTDHi9I4nuu48nufmNMdZ9FHAhPZv0A_cWzc,1661
|
|
342
342
|
holado_python/tests/behave/steps/convert_steps.py,sha256=bZqRvJVp_u6fSPpdu4ne9NwVyZmui7R-AVdO2-H-I1A,2728
|
|
343
343
|
holado_python/tests/behave/steps/iterable_steps.py,sha256=f4vGIWBH8Qnjq69Q-ZBluYyctQ8SKauazTc41dsktZA,4041
|
|
@@ -367,7 +367,7 @@ holado_redis/tools/redis/redis_manager.py,sha256=tMO0XrCZTCfGdByFfgWXk9R-I_TUPLO
|
|
|
367
367
|
holado_report/__init__.py,sha256=3wtu5g9d4d-AICmLZclPQrw2MS-FJL9CyiVO1n2MYWA,1868
|
|
368
368
|
holado_report/campaign/campaign_manager.py,sha256=fZtxvtFc7_BZm3KGZNMYh0p8SJ-znEX89MlEY6Gp3aE,8748
|
|
369
369
|
holado_report/report/execution_historic.py,sha256=M4lYoZwyrSivRa17Q39GOAgROnr0oBvIZX5BNcO5Mnc,6951
|
|
370
|
-
holado_report/report/report_manager.py,sha256=
|
|
370
|
+
holado_report/report/report_manager.py,sha256=jOCWa4OxXgYSGimy0hnueKW7PqPOnM80at5NNQgJa4I,16878
|
|
371
371
|
holado_report/report/analyze/execution_historic_manager.py,sha256=FMKKPguXOvWNxjF7Q8DodHHsH-2ci9pFzrTV41B8nL4,4556
|
|
372
372
|
holado_report/report/analyze/scenario_duration_manager.py,sha256=Preaxu83qFKGfbvQnzolhSXztZ4i5Zo_Bnxx8tNA80Q,12468
|
|
373
373
|
holado_report/report/builders/detailed_scenario_failed_report_builder.py,sha256=hOXxHYniL9mpN-U7YTW5xVEaE4Z-GlPq8ltT_iNJan4,7892
|
|
@@ -375,6 +375,7 @@ holado_report/report/builders/failure_report_builder.py,sha256=WLLlLgLbEyYJNENEo
|
|
|
375
375
|
holado_report/report/builders/json_execution_historic_report_builder.py,sha256=M7OGUvkqNRTG5Td7fO96tv1SJEzRzjm0pl1W02v052E,5929
|
|
376
376
|
holado_report/report/builders/report_builder.py,sha256=5qlhxbdTkSN7p9q6EADkpHQGPDVEHquIhgA3mK2Ck2k,2261
|
|
377
377
|
holado_report/report/builders/short_scenario_failed_report_builder.py,sha256=50pXhWX8xwIDZWSFaBejzMUlS9a0GRXqA82d84V3udk,4012
|
|
378
|
+
holado_report/report/builders/summary_by_category_report_builder.py,sha256=5i_zWxIYabiFcMs0De3JDa4YptfDIbFYkVkvaXDRX5M,4496
|
|
378
379
|
holado_report/report/builders/summary_report_builder.py,sha256=v4LG3W5x_y4FH0kh_5MRaG8pyPOV2GfhlBImsW4BJrs,3954
|
|
379
380
|
holado_report/report/builders/summary_scenario_by_category_report_builder.py,sha256=1rzuF4KFPzO5jFuvC_OKvsnNMRrzW3zG5nU5GUSux1U,4274
|
|
380
381
|
holado_report/report/builders/summary_scenario_failed_report_builder.py,sha256=uqf86SUAiIQLRQOV0A434oR8Bj4e_DtxqRsy-pe84p4,3063
|
|
@@ -480,7 +481,7 @@ holado_test/tests/behave/steps/__init__.py,sha256=rdqrp-UN7vRplIqORx4sXyKwMUkptR
|
|
|
480
481
|
holado_test/tests/behave/steps/scenario/exception_steps.py,sha256=ZIE92Dz7a6O_c0jAP_0dj6Hc0tnW6YRgNKd4_aBpeR0,4054
|
|
481
482
|
holado_test/tests/behave/steps/scenario/scenario_steps.py,sha256=RfM5Lh4sduKeYSD1NzUxtQ8705O7nausoz_gnpAJQB0,4616
|
|
482
483
|
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=
|
|
484
|
+
holado_test/tools/test_server/client/rest/test_server_client.py,sha256=Zoq5zWqWHHnysxMIki8zaQHaR8TFMM6U1xSbjeO7luY,6085
|
|
484
485
|
holado_test/tools/test_server/server/Dockerfile,sha256=CDhwKszWuA_aSHrwruvN5oAU6g67MXbSO-coHmDNL9c,1485
|
|
485
486
|
holado_test/tools/test_server/server/requirements.txt,sha256=c2iNG9IZZogAEC9oSWRTWEF9-OHW0vRtijPNK4P6_xY,45
|
|
486
487
|
holado_test/tools/test_server/server/run_test_server_in_docker.sh,sha256=ISNvFT1dBM6aiw5Iv6yBhInn7L8ZYyz_7EDK_X1eCvk,3121
|
|
@@ -489,9 +490,9 @@ holado_test/tools/test_server/server/core/server_manager.py,sha256=PW5ShUdnbdq6E
|
|
|
489
490
|
holado_test/tools/test_server/server/rest/README,sha256=J_LIXWFxtxc8okQGZ8Kk0dMSRra9oUzbMP_ylCe4pTo,161
|
|
490
491
|
holado_test/tools/test_server/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
491
492
|
holado_test/tools/test_server/server/rest/logging.conf,sha256=yeNIHFQCYlDmkdLlQ3NCoMuxpUNn6i8ZDAzOUna_2aA,1282
|
|
492
|
-
holado_test/tools/test_server/server/rest/openapi.yaml,sha256=
|
|
493
|
+
holado_test/tools/test_server/server/rest/openapi.yaml,sha256=ULzbZMhj-Iw6MGwZ7_7zxkOGiRjpFnqaT6OotgL9sjY,1248
|
|
493
494
|
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=
|
|
495
|
+
holado_test/tools/test_server/server/rest/api/__init__.py,sha256=Y_kSr0l44kBpmWYsRRH93MXSyKM1veegaytzYFXkBA0,1407
|
|
495
496
|
holado_test/tools/test_server/server/rest/api/campaign/__init__.py,sha256=btZb20N5k7_WbowNAC1C7yYDUkwPnUU5QUmh-jO0bhg,1586
|
|
496
497
|
holado_test/tools/test_server/server/rest/api/campaign/scenario.py,sha256=4eTIScEGL0GKD7g6aIPHJVvaVbwz487zlEg9mRQv84Y,1737
|
|
497
498
|
holado_tools/__init__.py,sha256=JzUm55NIkeBynu1RieZ3QfZGw8v4NfFDzz6HS-bN7r8,1798
|
|
@@ -500,7 +501,7 @@ holado_tools/scripts/execute_persisted_post_processes/execute_persisted_post_pro
|
|
|
500
501
|
holado_tools/scripts/execute_persisted_post_processes/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
|
|
501
502
|
holado_tools/tests/behave/steps/__init__.py,sha256=SPh47LYMokcxbFhDa_JnlkIlyQav2D-hddf3J1ZlEbQ,1296
|
|
502
503
|
holado_tools/tests/behave/steps/tools/host_controller/client_steps.py,sha256=FOaeQ5xX4KGv7OVvMh2M8U0a-AfHuUNQU5p4av_K8z0,4786
|
|
503
|
-
holado_tools/tools/host_controller/client/rest/host_controller_client.py,sha256=
|
|
504
|
+
holado_tools/tools/host_controller/client/rest/host_controller_client.py,sha256=OCMXvFcJ1Bz9W3AeG2Rdho3pTrWT48J2sJNQdICE4d0,7218
|
|
504
505
|
holado_tools/tools/host_controller/server/Dockerfile,sha256=wTy-ii7MuJULRiw5_2sUWj8ssw6WUJIhAcLY2KCL0lw,1508
|
|
505
506
|
holado_tools/tools/host_controller/server/requirements.txt,sha256=0RvLV3t2DyBR2FsbAd1WVEcbsVc6FVUN2horQJU4POo,57
|
|
506
507
|
holado_tools/tools/host_controller/server/run_host_controller_in_docker.sh,sha256=KEBTxcxFeViVpixLii1YXBbyZhvJKfmH604jGqBFxHc,3729
|
|
@@ -510,9 +511,9 @@ holado_tools/tools/host_controller/server/grpc/proto/compile_proto.py,sha256=Njc
|
|
|
510
511
|
holado_tools/tools/host_controller/server/grpc/proto/definitions/docker_controler.proto,sha256=n9bsXaQfnZX-R5HvfquCVt3QjpFtDJSH6p8gnTjm06k,1650
|
|
511
512
|
holado_tools/tools/host_controller/server/rest/README,sha256=10hiIdQw69iXubii8ZYZUrYrs2Q2k5QiTKpBBrBK1bc,165
|
|
512
513
|
holado_tools/tools/host_controller/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
513
|
-
holado_tools/tools/host_controller/server/rest/openapi.yaml,sha256=
|
|
514
|
+
holado_tools/tools/host_controller/server/rest/openapi.yaml,sha256=6MCJFmJ-fPeNOhhgELdVHCnsVej2YoyZ3ECwEMeUIsY,7121
|
|
514
515
|
holado_tools/tools/host_controller/server/rest/run.py,sha256=RQFxhVCH3K3uAHFdCVVKw2MAcVcufSvenVn6f6ABCGA,2009
|
|
515
|
-
holado_tools/tools/host_controller/server/rest/api/__init__.py,sha256=
|
|
516
|
+
holado_tools/tools/host_controller/server/rest/api/__init__.py,sha256=Y_kSr0l44kBpmWYsRRH93MXSyKM1veegaytzYFXkBA0,1407
|
|
516
517
|
holado_tools/tools/host_controller/server/rest/api/config.py,sha256=Ln__1bsigSzJZ-Iy3MQgmiZMnpBxC3TCQE0O72g5cAs,2459
|
|
517
518
|
holado_tools/tools/host_controller/server/rest/api/os.py,sha256=EA3DCxGBCnMd2XJyn9kb6IWmtbaPIyv5UfZypCNzkhY,2123
|
|
518
519
|
holado_tools/tools/host_controller/server/rest/api/docker/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
|
|
@@ -523,9 +524,9 @@ holado_tools/tools/host_viewer/server/requirements.txt,sha256=0RvLV3t2DyBR2FsbAd
|
|
|
523
524
|
holado_tools/tools/host_viewer/server/run_host_viewer_in_docker.sh,sha256=XeJfyjPVj34-rK_9K_6C9iD0EiAZ2WVkoD1L5rvZzw4,3606
|
|
524
525
|
holado_tools/tools/host_viewer/server/rest/README,sha256=1FMg-U_D9pUMBVmZJsirOXHFLTciDL5jB-Yqzp9U6uM,163
|
|
525
526
|
holado_tools/tools/host_viewer/server/rest/initialize_holado.py,sha256=UxNphXyjs-xraorzMWjDe6-QYw_Q3mtykyY-ENYZB1o,3464
|
|
526
|
-
holado_tools/tools/host_viewer/server/rest/openapi.yaml,sha256=
|
|
527
|
+
holado_tools/tools/host_viewer/server/rest/openapi.yaml,sha256=tU9N6eGW7ESxtbODyUeYDdKYUxQSNoTjHiUrvgqr5JM,3007
|
|
527
528
|
holado_tools/tools/host_viewer/server/rest/run.py,sha256=jgJgmFFdppadLBahWU8Yw8-PdA5HJzBTDCPTPHGRzbA,2007
|
|
528
|
-
holado_tools/tools/host_viewer/server/rest/api/__init__.py,sha256=
|
|
529
|
+
holado_tools/tools/host_viewer/server/rest/api/__init__.py,sha256=Y_kSr0l44kBpmWYsRRH93MXSyKM1veegaytzYFXkBA0,1407
|
|
529
530
|
holado_tools/tools/host_viewer/server/rest/api/docker/__init__.py,sha256=FlLRagAiw1LDxnF0CmW7Y6bVXuj8x6volT8-DuHTTVY,2427
|
|
530
531
|
holado_value/__init__.py,sha256=60VyLyWux76dFwn03uH4Fz3R6itf6fqKu0pQUdvwblU,1561
|
|
531
532
|
holado_value/common/tables/value_table.py,sha256=fJgb-HWdlMwHOAx5CS38sPiVrjGelEiQBbG9HuHqe-A,1726
|
|
@@ -559,7 +560,7 @@ test_holado/Dockerfile_test_holado,sha256=zO6OUFnC1X9ZG7fPWWWfcWgZwnxif4WDE4ZDEm
|
|
|
559
560
|
test_holado/__init__.py,sha256=TIHAHrF05rvz6-VDKuDBSBjasD6PxTxXvcXjMEC3D6E,54
|
|
560
561
|
test_holado/__main__.py,sha256=PVdCX8V_RGRzbQQKVxf7eyt8a10XfUJ1pcaajGgIlus,1509
|
|
561
562
|
test_holado/build_docker_image_to_test_holado_in_docker.sh,sha256=B3hbi0yKnEC-t9S18o6ZR27AU1bqiuptwOqm6H7tv8s,142
|
|
562
|
-
test_holado/environment.py,sha256=
|
|
563
|
+
test_holado/environment.py,sha256=2K_VLB92bDfHh6e1EHVBp30Y8cgeVIjUI8C2ezPWXqA,2661
|
|
563
564
|
test_holado/initialize_holado.py,sha256=IPYH-GYNiHV5-7ZCCH6CFmPpmACsPrTV74TYz3MRjpA,3102
|
|
564
565
|
test_holado/logging.conf,sha256=vsCMsRnvSMHl6nBmRqG7kBYC3qshAcxiAg5iUUw1Udw,1318
|
|
565
566
|
test_holado/test_holado_session_context.py,sha256=qOB_i2k8mYjkR3-q2uv0B04xFc1K3p-K20ttYwe1Z18,1364
|
|
@@ -679,7 +680,7 @@ test_holado/tools/django/api_rest/api_rest/api1/serializers.py,sha256=o_YxFr-tgC
|
|
|
679
680
|
test_holado/tools/django/api_rest/api_rest/api1/tests.py,sha256=mrbGGRNg5jwbTJtWWa7zSKdDyeB4vmgZCRc2nk6VY-g,60
|
|
680
681
|
test_holado/tools/django/api_rest/api_rest/api1/views.py,sha256=kOt2xT6bxO47_z__5yYR9kcYIWWv4qYzpX0K8Tqonik,758
|
|
681
682
|
test_holado/tools/django/api_rest/api_rest/api1/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
682
|
-
holado-0.11.
|
|
683
|
-
holado-0.11.
|
|
684
|
-
holado-0.11.
|
|
685
|
-
holado-0.11.
|
|
683
|
+
holado-0.11.4.dist-info/METADATA,sha256=w4vz367qdwA3K6pb1rwff-SLW8-4ivNAkAr_kuff5mc,7660
|
|
684
|
+
holado-0.11.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
685
|
+
holado-0.11.4.dist-info/licenses/LICENSE,sha256=IgGmNlcFHnbp7UWrLJqAFvs_HIgjJDTmjCNRircJLsk,1070
|
|
686
|
+
holado-0.11.4.dist-info/RECORD,,
|
holado_ais/ais/ais_messages.py
CHANGED
|
@@ -93,7 +93,7 @@ class AISMessages(object):
|
|
|
93
93
|
msg_dict = msg.asdict(enum_as_int=enum_as_int, ignore_spare=ignore_spare)
|
|
94
94
|
|
|
95
95
|
# Extract tagblock of first sentence if present, and add tagblock information in result
|
|
96
|
-
tag_block_str, _ = self.
|
|
96
|
+
tag_block_str, _ = self.split_sentence_to_tag_block_and_message(sentences[0])
|
|
97
97
|
if tag_block_str is None:
|
|
98
98
|
tag_block_dict = None
|
|
99
99
|
else:
|
|
@@ -283,7 +283,7 @@ class AISMessages(object):
|
|
|
283
283
|
|
|
284
284
|
return res
|
|
285
285
|
|
|
286
|
-
def
|
|
286
|
+
def split_sentence_to_tag_block_and_message(self, ais_sentence):
|
|
287
287
|
if isinstance(ais_sentence, str):
|
|
288
288
|
split_char = '\\'
|
|
289
289
|
elif isinstance(ais_sentence, bytes):
|
|
@@ -208,7 +208,7 @@ if AISMessages.is_available():
|
|
|
208
208
|
msg_var_name = StepTools.evaluate_variable_name(msg_var_name)
|
|
209
209
|
ais_sentence = StepTools.evaluate_scenario_parameter(ais_sentence)
|
|
210
210
|
|
|
211
|
-
tb, msg = __get_ais_messages().
|
|
211
|
+
tb, msg = __get_ais_messages().split_sentence_to_tag_block_and_message(ais_sentence)
|
|
212
212
|
|
|
213
213
|
__get_variable_manager().register_variable(tb_var_name, tb)
|
|
214
214
|
__get_variable_manager().register_variable(msg_var_name, msg)
|
|
@@ -99,7 +99,7 @@ class PersistedMethodToCallManager(PersistedDataManager):
|
|
|
99
99
|
@param delete_on_fail: If True, delete method after its fail
|
|
100
100
|
@param delete_on_success_after_fail: If True, delete method after its success even if it has previously failed
|
|
101
101
|
"""
|
|
102
|
-
if self.__scope_name is
|
|
102
|
+
if self.__scope_name is any_value:
|
|
103
103
|
raise TechnicalException("To add a method to call, the scope name must be specified")
|
|
104
104
|
|
|
105
105
|
# Define persisted data that can define if method is already persisted
|
|
@@ -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
|
+
SIb3DQEJARYUaGFycnliYWdkaUBnbWFpbC5jb20wHhcNMjUxMDI3MDkyNzQ4WhcN
|
|
6
|
+
MjUxMDI4MDkyNzQ4WjAcMRowGAYDVQQDDBF0Y3BiaW4uY29tLWNsaWVudDCCASIw
|
|
7
|
+
DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMDSXOJuPmc0k1e7OMyWKhIxcC44
|
|
8
|
+
wmG71lF8E/F11DW+yw3iiJ95ZvkiLuVEGnkMFS+iJJ0LLvCsNq71yVggbeEhRCVe
|
|
9
|
+
vY0RmfZMY3BA27ru3d4QK5Xuffb8eg8x3KRSaeD47ZFATzL5j4EVhsTLe5L2hOIE
|
|
10
|
+
ZAuc1C+mHbGdr23o2r9CqGLq3gl7JNRSjfOzzS1pvgoj/C6vsMViJutx0MYCd2Z6
|
|
11
|
+
4CfPfRO0L1JXzU9GPq1HIDFUDEnopdMALA6KSRSOt0qLChKgKFqRS954e2PZYxwO
|
|
12
|
+
XqvHwD1vGwMl6t1gprSpsAPuaEv/1l8iuA7zHL1jiIergwsLDad1flFSulkCAwEA
|
|
13
|
+
AaNCMEAwHQYDVR0OBBYEFFaEMYPq4DeN+4OAfat4KVqgrWVLMB8GA1UdIwQYMBaA
|
|
14
|
+
FOLuMowBSAZfV5v82LmlaIIOvU/DMA0GCSqGSIb3DQEBCwUAA4IBAQAi3cHZCPtV
|
|
15
|
+
LgOXO4+5Z26Jx4wnqKmsWfEqdXKwcpTm5NKa+pyFcswNRAzk6HL6x2Bd1VO2tT71
|
|
16
|
+
PnDz6/YJWdJqzkCCCInPs5dvptE3ByFAG8nXGi+TE7FzQW8Pa5/d6Vcglxj6269B
|
|
17
|
+
rWdwfDZoFnSJAkRkTbeY6It1kqJB54+DIqVZNtVCQ7axh0Trpzk4B7QjHMvKJlwz
|
|
18
|
+
FPycVbH51IXYts9uHEtT5gdpSXA4hKuEc/p5kRkzomS/8vAolyh6lqkAMGly1tza
|
|
19
|
+
wTpCnzC6pZOJXinN75KplX5f+Wk4aMlchpocVqTPlTjHAzy/DceCGPieGgpx1EhG
|
|
20
|
+
TQm3tdNDnLkY
|
|
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
|
+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDA0lzibj5nNJNX
|
|
3
|
+
uzjMlioSMXAuOMJhu9ZRfBPxddQ1vssN4oifeWb5Ii7lRBp5DBUvoiSdCy7wrDau
|
|
4
|
+
9clYIG3hIUQlXr2NEZn2TGNwQNu67t3eECuV7n32/HoPMdykUmng+O2RQE8y+Y+B
|
|
5
|
+
FYbEy3uS9oTiBGQLnNQvph2xna9t6Nq/Qqhi6t4JeyTUUo3zs80tab4KI/wur7DF
|
|
6
|
+
YibrcdDGAndmeuAnz30TtC9SV81PRj6tRyAxVAxJ6KXTACwOikkUjrdKiwoSoCha
|
|
7
|
+
kUveeHtj2WMcDl6rx8A9bxsDJerdYKa0qbAD7mhL/9ZfIrgO8xy9Y4iHq4MLCw2n
|
|
8
|
+
dX5RUrpZAgMBAAECggEBAKPrse8EzaQrO/9fOEAkgIuK39VLh2RSrTYEh2fERa2T
|
|
9
|
+
D0g0hvUb3gB5oOhi5yZ0sSYXb4zaTwNnQ+2lIY/7sa2r/CTQz8+3YO3Trs1lNedK
|
|
10
|
+
3e7ETGlfoFJx/MoiF3LSZRROSpgq1al+IxMX28Q9QEaFsB38oZiFsJT5YVD3voVt
|
|
11
|
+
7jYr/yE6A7Nuq4A8EmpXTqNqdIGlBQ5Iq865KfUmqEM7vAJDzo/NPCf3CeCe5yzU
|
|
12
|
+
31sL/odZpj0MJWsFe6P9k932cd47VdXZ84XCcXQHEkKZ6AVwv+EBQfSMfBJUp4pw
|
|
13
|
+
4Cd112jzJR0Gdew6BTwytPHM55Pm7sx3Kx2/+1lr7CECgYEA8fqe1b6HXCC7RUDD
|
|
14
|
+
J2XDkPZbLdyjqWW0mGVps7xX3371BVndXjWTmrKgtLS64XclW9coLGhJMlNel7pO
|
|
15
|
+
dadC24naHF3qNXsTITgz9VJWG5MSNrzDHg4ZzYxllFxm1j7DiorDa4umzHu0w0d1
|
|
16
|
+
7WUZFPP9fm3jlB5dv80HBSWIpWUCgYEAy/6SSGBJfv+hYJjPOtrneQxUGkpnw9mr
|
|
17
|
+
tqA4l2+vMlLJs6xvjgqytV8MgTAc750ASf3/lug497m/PlGxvwj6GwwT8zUhUmBb
|
|
18
|
+
pRJBS2EwHvJBcyeu2GVJJAqnbmoEVdywV21VjUSJ5PH5zg48wJAaJspttOOmmUTt
|
|
19
|
+
Ou+6eh7Ou+UCgYBbm8EENKR0KWQcfL8lLC6Us9+jBjPjjsCHLWWOCRDPaPYD95iJ
|
|
20
|
+
8QiXeWbD4uQZNY0sLtFjtnt3lP5rvLm1awQxrwem05s2cgi0+90X0/sLZ2tu05me
|
|
21
|
+
yEHWgn92YmEAXTSUP6JqFa2pHnA5udUYcbzEJPbkJWASFEjzswAkX6hSzQKBgFpV
|
|
22
|
+
67W9Xg6taWt7gBmSIvtJ6FyUIotqc042eZkmTjE81DGK5QPD3QvQgZscEVRS9HPP
|
|
23
|
+
1UWgpMmfKf+Q8eOlOAyONq93EcCHB058XQniigrKQQ2bvyP5BoC9bxPIQw864aR1
|
|
24
|
+
uHMMrPwD5BnJ2EF2Dv6qmhaG0ZoCGgQFcVDvH6G5AoGAfrF8W04Is7Q0eSF6D296
|
|
25
|
+
BZgICLCNJUykBGp2jXecOHelpKBsSH95mPrwcUHxyxZJhp1iMdua5IAyyS0LkvDX
|
|
26
|
+
ElsFK7kaMbHJPvBhjhWXvB331qJAVjhnYuyiDENEuDJy40+dj+MXN0RFg7fGkz4a
|
|
27
|
+
m0HQFSt8G76mGDV6eQ+xdrc=
|
|
28
28
|
-----END PRIVATE KEY-----
|
|
@@ -0,0 +1,86 @@
|
|
|
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 SummaryByCategoryReportBuilder(ReportBuilder):
|
|
23
|
+
def __init__(self, filepath):
|
|
24
|
+
self.__filepath = filepath
|
|
25
|
+
self.__counter_by_category = {}
|
|
26
|
+
self.__categories_order = [
|
|
27
|
+
'Regression',
|
|
28
|
+
'Always Failed',
|
|
29
|
+
'Random',
|
|
30
|
+
'Regression but Not Relevant',
|
|
31
|
+
'Always Not Relevant',
|
|
32
|
+
'Random but Not Relevant',
|
|
33
|
+
'Always Success',
|
|
34
|
+
'Fixed',
|
|
35
|
+
'Unknown'
|
|
36
|
+
]
|
|
37
|
+
|
|
38
|
+
def build(self):
|
|
39
|
+
'''
|
|
40
|
+
The file is built after each scenario
|
|
41
|
+
'''
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
def after_scenario(self, scenario, scenario_report=None):
|
|
45
|
+
from holado_report.report.report_manager import ReportManager
|
|
46
|
+
category_validation, _, _, _ = ReportManager.get_current_scenario_status_information(scenario)
|
|
47
|
+
|
|
48
|
+
if category_validation is not None:
|
|
49
|
+
ind = category_validation.find(' (')
|
|
50
|
+
category = category_validation[:ind] if ind > 0 else category_validation
|
|
51
|
+
|
|
52
|
+
if category not in self.__counter_by_category:
|
|
53
|
+
self.__counter_by_category[category] = 0
|
|
54
|
+
self.__counter_by_category[category] += 1
|
|
55
|
+
|
|
56
|
+
# Update categories order with unexpected category
|
|
57
|
+
if category not in self.__categories_order:
|
|
58
|
+
self.__categories_order.append(category)
|
|
59
|
+
|
|
60
|
+
self.__update_file()
|
|
61
|
+
|
|
62
|
+
def __update_file(self):
|
|
63
|
+
list_by_group = {
|
|
64
|
+
'Success': [(k,self.__counter_by_category[k]) for k in self.__categories_order
|
|
65
|
+
if k in self.__counter_by_category and k in ['Always Success', 'Fixed']],
|
|
66
|
+
'Failed': [(k,self.__counter_by_category[k]) for k in self.__categories_order
|
|
67
|
+
if k in self.__counter_by_category and k in ['Regression', 'Always Failed', 'Random']],
|
|
68
|
+
'Not Relevant': [(k,self.__counter_by_category[k]) for k in self.__categories_order
|
|
69
|
+
if k in self.__counter_by_category and k in ['Regression but Not Relevant', 'Always Not Relevant', 'Random but Not Relevant']]
|
|
70
|
+
}
|
|
71
|
+
others_list = [(k,v) for k,v in self.__counter_by_category.items()
|
|
72
|
+
if k not in ['Always Success', 'Fixed', 'Regression', 'Always Failed', 'Random', 'Regression but Not Relevant', 'Always Not Relevant', 'Random but Not Relevant']]
|
|
73
|
+
|
|
74
|
+
lines = []
|
|
75
|
+
for group_name, group_list in list_by_group.items():
|
|
76
|
+
if group_list:
|
|
77
|
+
lines.append(f"{group_name:>12s}: {sum([x[1] for x in group_list]):5d} ({' ; '.join([f'{x[0]}: {x[1]}' for x in group_list])})")
|
|
78
|
+
else:
|
|
79
|
+
lines.append(f"{group_name:>12s}: {0:5d}")
|
|
80
|
+
if others_list:
|
|
81
|
+
lines.append(f"{'Others':>12s}: {sum([x[1] for x in others_list]):5d} ({' ; '.join([f'{x[0]}: {x[1]}' for x in others_list])})")
|
|
82
|
+
|
|
83
|
+
with File(self.__filepath, mode='wt', auto_flush=False) as fout:
|
|
84
|
+
fout.writelines(lines)
|
|
85
|
+
|
|
86
|
+
|
|
@@ -24,6 +24,7 @@ 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
26
|
from holado_report.report.builders.summary_scenario_by_category_report_builder import SummaryScenarioByCategoryReportBuilder
|
|
27
|
+
from holado_report.report.builders.summary_by_category_report_builder import SummaryByCategoryReportBuilder
|
|
27
28
|
# from holado_core.scenario.scenario_duration_manager import ScenarioDurationManager
|
|
28
29
|
|
|
29
30
|
logger = logging.getLogger(__name__)
|
|
@@ -86,6 +87,9 @@ class ReportManager(BaseReport):
|
|
|
86
87
|
fn = self.get_path("report_summary.txt")
|
|
87
88
|
self.add_report_builder(SummaryReportBuilder(fn))
|
|
88
89
|
|
|
90
|
+
fn = self.get_path("report_summary_by_category.txt")
|
|
91
|
+
self.add_report_builder(SummaryByCategoryReportBuilder(fn))
|
|
92
|
+
|
|
89
93
|
@property
|
|
90
94
|
def __feature_reports(self):
|
|
91
95
|
return self.children_reports("feature")
|
|
@@ -21,6 +21,7 @@ from holado.common.handlers.undefined import undefined_argument, undefined_value
|
|
|
21
21
|
import os
|
|
22
22
|
from holado_core.common.tools.converters.converter import Converter
|
|
23
23
|
from holado_core.common.exceptions.technical_exception import TechnicalException
|
|
24
|
+
from holado_core.common.handlers.wait import WaitFuncResult
|
|
24
25
|
|
|
25
26
|
logger = logging.getLogger(__name__)
|
|
26
27
|
|
|
@@ -72,6 +73,8 @@ class TestServerClient(RestClient):
|
|
|
72
73
|
logger.info(f"Test server is {'not ' if not self.__is_available else ''}available")
|
|
73
74
|
return self.__is_available
|
|
74
75
|
|
|
76
|
+
# Monitoring
|
|
77
|
+
|
|
75
78
|
def ping(self):
|
|
76
79
|
url_parsed = urllib.parse.urlparse(self.url)
|
|
77
80
|
netloc_pattern = r"(?P<host>.*?)(?::(?P<port>\d+))?$"
|
|
@@ -98,6 +101,23 @@ class TestServerClient(RestClient):
|
|
|
98
101
|
logger.debug(f"Ping of test server succeeded for ({host}, {port})")
|
|
99
102
|
return True
|
|
100
103
|
|
|
104
|
+
def is_healthy(self):
|
|
105
|
+
try:
|
|
106
|
+
response = self.get(f"health")
|
|
107
|
+
return response.status_code == 200
|
|
108
|
+
except:
|
|
109
|
+
return False
|
|
110
|
+
|
|
111
|
+
def wait_is_healthy(self, timeout_sec=300, do_raise_on_timeout=True):
|
|
112
|
+
logger.info("Waiting for test-server to be healthy...")
|
|
113
|
+
wait_context = WaitFuncResult(f"wait test-server is healthy", self.is_healthy)
|
|
114
|
+
wait_context.with_timeout(timeout_sec) \
|
|
115
|
+
.with_raise_on_timeout(do_raise_on_timeout) \
|
|
116
|
+
.with_process_in_thread(False)
|
|
117
|
+
wait_context.redo_until(True)
|
|
118
|
+
wait_context.execute()
|
|
119
|
+
logger.info("test-server is healthy")
|
|
120
|
+
|
|
101
121
|
|
|
102
122
|
# Manage campaigns actions
|
|
103
123
|
|
|
@@ -11,13 +11,14 @@
|
|
|
11
11
|
#################################################
|
|
12
12
|
|
|
13
13
|
from flask.views import MethodView
|
|
14
|
-
|
|
15
|
-
import logging
|
|
14
|
+
# import logging
|
|
16
15
|
|
|
17
|
-
logger = logging.getLogger(__name__)
|
|
16
|
+
# logger = logging.getLogger(__name__)
|
|
18
17
|
|
|
19
18
|
|
|
19
|
+
class HealthView(MethodView):
|
|
20
|
+
|
|
21
|
+
def get(self):
|
|
22
|
+
return {'status': 'healthy'}
|
|
20
23
|
|
|
21
|
-
def _get_session_context():
|
|
22
|
-
return SessionContext.instance()
|
|
23
24
|
|
|
@@ -5,6 +5,17 @@ info:
|
|
|
5
5
|
description: |
|
|
6
6
|
API exposed by Test Server.
|
|
7
7
|
paths:
|
|
8
|
+
/health:
|
|
9
|
+
get:
|
|
10
|
+
description: "Healthcheck"
|
|
11
|
+
responses:
|
|
12
|
+
200:
|
|
13
|
+
description: "Healthy"
|
|
14
|
+
content:
|
|
15
|
+
application/json:
|
|
16
|
+
schema:
|
|
17
|
+
type: "string"
|
|
18
|
+
|
|
8
19
|
/campaign/update:
|
|
9
20
|
put:
|
|
10
21
|
description: "Update stored campaigns"
|
|
@@ -18,6 +18,7 @@ from holado.common.handlers.undefined import default_value, undefined_argument,\
|
|
|
18
18
|
import os
|
|
19
19
|
from holado_core.common.tools.converters.converter import Converter
|
|
20
20
|
from holado_rest.api.rest.rest_manager import RestManager
|
|
21
|
+
from holado_core.common.handlers.wait import WaitFuncResult
|
|
21
22
|
|
|
22
23
|
logger = logging.getLogger(__name__)
|
|
23
24
|
|
|
@@ -63,6 +64,27 @@ class HostControllerClient(RestClient):
|
|
|
63
64
|
def __init__(self, name, url, headers=None):
|
|
64
65
|
super().__init__(name, url, headers)
|
|
65
66
|
|
|
67
|
+
|
|
68
|
+
# Monitoring
|
|
69
|
+
|
|
70
|
+
def is_healthy(self):
|
|
71
|
+
try:
|
|
72
|
+
response = self.get(f"health")
|
|
73
|
+
return response.status_code == 200
|
|
74
|
+
except:
|
|
75
|
+
return False
|
|
76
|
+
|
|
77
|
+
def wait_is_healthy(self, timeout_sec=300, do_raise_on_timeout=True):
|
|
78
|
+
logger.info("Waiting for host-controller to be healthy...")
|
|
79
|
+
wait_context = WaitFuncResult(f"wait test-server is healthy", self.is_healthy)
|
|
80
|
+
wait_context.with_timeout(timeout_sec) \
|
|
81
|
+
.with_raise_on_timeout(do_raise_on_timeout) \
|
|
82
|
+
.with_process_in_thread(False)
|
|
83
|
+
wait_context.redo_until(True)
|
|
84
|
+
wait_context.execute()
|
|
85
|
+
logger.info("host-controller is healthy")
|
|
86
|
+
|
|
87
|
+
|
|
66
88
|
# Common features
|
|
67
89
|
|
|
68
90
|
def get_environment_variable_value(self, var_name):
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
11
11
|
#################################################
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
# from holado.common.context.session_context import SessionContext
|
|
13
|
+
from flask.views import MethodView
|
|
15
14
|
# import logging
|
|
16
|
-
|
|
15
|
+
|
|
17
16
|
# logger = logging.getLogger(__name__)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class HealthView(MethodView):
|
|
20
|
+
|
|
21
|
+
def get(self):
|
|
22
|
+
return {'status': 'healthy'}
|
|
23
23
|
|
|
24
24
|
|
|
@@ -9,6 +9,17 @@ info:
|
|
|
9
9
|
For example, it is usefull for a testing solution needing to restart a microservice of the SUT (System Under Test),
|
|
10
10
|
but the testing solution docker image has not the privileges to do it.
|
|
11
11
|
paths:
|
|
12
|
+
/health:
|
|
13
|
+
get:
|
|
14
|
+
description: "Healthcheck"
|
|
15
|
+
responses:
|
|
16
|
+
200:
|
|
17
|
+
description: "Healthy"
|
|
18
|
+
content:
|
|
19
|
+
application/json:
|
|
20
|
+
schema:
|
|
21
|
+
type: "string"
|
|
22
|
+
|
|
12
23
|
/os/env:
|
|
13
24
|
get:
|
|
14
25
|
description: "Get environment variable values"
|
|
@@ -10,13 +10,15 @@
|
|
|
10
10
|
# The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software.
|
|
11
11
|
#################################################
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
# from holado.common.context.session_context import SessionContext
|
|
13
|
+
from flask.views import MethodView
|
|
15
14
|
# import logging
|
|
16
|
-
|
|
15
|
+
|
|
17
16
|
# logger = logging.getLogger(__name__)
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class HealthView(MethodView):
|
|
20
|
+
|
|
21
|
+
def get(self):
|
|
22
|
+
return {'status': 'healthy'}
|
|
23
|
+
|
|
22
24
|
|
|
@@ -8,6 +8,17 @@ info:
|
|
|
8
8
|
whereas all other microservices have user privileges.
|
|
9
9
|
For example, it is usefull to monitor containers statuses from any terminal on the network.
|
|
10
10
|
paths:
|
|
11
|
+
/health:
|
|
12
|
+
get:
|
|
13
|
+
description: "Healthcheck"
|
|
14
|
+
responses:
|
|
15
|
+
200:
|
|
16
|
+
description: "Healthy"
|
|
17
|
+
content:
|
|
18
|
+
application/json:
|
|
19
|
+
schema:
|
|
20
|
+
type: "string"
|
|
21
|
+
|
|
11
22
|
/os/env:
|
|
12
23
|
get:
|
|
13
24
|
description: "Get environment variable values"
|
test_holado/environment.py
CHANGED
|
@@ -44,3 +44,10 @@ from holado_test.behave.behave_environment import * # @UnusedWildImport
|
|
|
44
44
|
|
|
45
45
|
# Define project specific environment methods
|
|
46
46
|
|
|
47
|
+
# Wait test daemons are healthy
|
|
48
|
+
from holado_core.common.tools.converters.converter import Converter
|
|
49
|
+
do_wait_test_server = Converter.to_boolean(os.getenv("HOLADO_WAIT_TEST_SERVER", True))
|
|
50
|
+
if do_wait_test_server:
|
|
51
|
+
SessionContext.instance().test_server_client.wait_is_healthy()
|
|
52
|
+
|
|
53
|
+
|
|
File without changes
|
|
File without changes
|