MetaCell / cloud-harness

Other
14 stars 5 forks source link

Update Python to 3.9 #392

Closed ddelpiano closed 2 years ago

ddelpiano commented 2 years ago

required as a follow up of #372 due to the below

(base) ddelpiano@rufy:~/git/netpyne-ui/webapp$ kubectl -n mytestapp logs mytestapp-6f689bd554-z9vdc
time="2022-01-25T15:51:24Z" level=warning msg="Debugging support for Python 3.10 not found: may require manually installing \"debugpy\""
/usr/local/bin/python: No module named debugpy
time="2022-01-25T15:51:24Z" level=fatal msg="error launching python debugging: exit status 1"
ddelpiano commented 2 years ago
(mnp) ddelpiano@rufy:~/git/metacell/cloud-harness/libraries/cloudharness-common$ /home/ddelpiano/miniconda3/envs/mnp/bin/tox
GLOB sdist-make: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/setup.py
py37 create: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py37
py37 installdeps: -r/home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/test-requirements.txt
py37 inst: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py37 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness @ file:///home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,importlib-metadata==4.10.1,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,tomli==2.0.0,typing_extensions==4.0.1,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2,zipp==3.7.0
py37 run-test-pre: PYTHONHASHSEED='3782719135'
py37 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.7.11, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py37/bin/python
cachedir: .tox/py37/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.27s ================================================================================================
py37 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   68     19     24      5    67%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        180    111     28      1    36%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 146    108     36      1    23%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              17     17      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   76     10     30      2    89%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   75     75     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                114     70     34      1    40%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          205     59     96      6    74%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                73     10     22      1    88%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1236    644    348     19    49%
py38 recreate: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py38
py38 installdeps: -r/home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/test-requirements.txt
py38 inst: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py38 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness @ file:///home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,tomli==2.0.0,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2
py38 run-test-pre: PYTHONHASHSEED='3782719135'
py38 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.5, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py38/bin/python
cachedir: .tox/py38/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.34s ================================================================================================
py38 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   75     19     24      5    70%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        191    111     28      1    39%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 147    107     46      1    22%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              18     18      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   90     10     30      2    90%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   80     80     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                117     70     34      1    41%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          213     59     96      6    75%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                82     10     22      1    89%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1295    649    358     19    50%
py39 recreate: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py39
ERROR: InterpreterNotFound: python3.9
py310 recreate: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py310
ERROR: InterpreterNotFound: python3.10
py3 recreate: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py3
py3 installdeps: -r/home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/test-requirements.txt
py3 inst: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py3 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness @ file:///home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,importlib-metadata==4.10.1,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,tomli==2.0.0,typing_extensions==4.0.1,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2,zipp==3.7.0
py3 run-test-pre: PYTHONHASHSEED='3782719135'
py3 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.7.11, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py3/bin/python
cachedir: .tox/py3/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.23s ================================================================================================
py3 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   68     19     24      5    67%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        180    111     28      1    36%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 146    108     36      1    23%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              17     17      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   76     10     30      2    89%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   75     75     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                114     70     34      1    40%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          205     59     96      6    74%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                73     10     22      1    88%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1236    644    348     19    49%
_____________________________________________________________________________________________________ summary _____________________________________________________________________________________________________
  py37: commands succeeded
  py38: commands succeeded
ERROR:  py39: InterpreterNotFound: python3.9
ERROR:  py310: InterpreterNotFound: python3.10
  py3: commands succeeded

different env with different python version

GLOB sdist-make: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/setup.py
py37 create: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py37
ERROR: InterpreterNotFound: python3.7
py38 inst-nodeps: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py38 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness==1.0.0,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2
py38 run-test-pre: PYTHONHASHSEED='3722450943'
py38 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.10, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py38/bin/python
cachedir: .tox/py38/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.37s ================================================================================================
py38 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   75     19     24      5    70%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        191    111     28      1    39%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 147    107     46      1    22%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              18     18      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   90     10     30      2    90%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   80     80     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                117     70     34      1    41%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          213     59     96      6    75%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                82     10     22      1    89%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1295    649    358     19    50%
py39 inst-nodeps: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py39 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness==1.0.0,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2
py39 run-test-pre: PYTHONHASHSEED='3722450943'
py39 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.10, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py39/bin/python
cachedir: .tox/py39/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.11s ================================================================================================
py39 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   75     19     24      5    70%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        191    111     28      1    39%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 147    107     46      1    22%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              18     18      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   90     10     30      2    90%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   80     80     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                117     70     34      1    41%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          213     59     96      6    75%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                82     10     22      1    89%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1295    649    358     19    50%
py310 inst-nodeps: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py310 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness==1.0.0,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2
py310 run-test-pre: PYTHONHASHSEED='3722450943'
py310 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.10, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py310/bin/python
cachedir: .tox/py310/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.14s ================================================================================================
py310 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   75     19     24      5    70%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        191    111     28      1    39%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 147    107     46      1    22%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              18     18      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   90     10     30      2    90%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   80     80     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                117     70     34      1    41%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          213     59     96      6    75%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                82     10     22      1    89%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1295    649    358     19    50%
py3 inst-nodeps: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/.tmp/package/1/cloudharness-1.0.0.zip
py3 installed: argo-workflows==5.0.0,attrs==21.4.0,blinker==1.4,cachetools==5.0.0,certifi==2021.10.8,cffi==1.15.0,charset-normalizer==2.0.10,click==8.0.3,cloudharness==1.0.0,-e git+https://github.com/MetaCell/cloud-harness@5796e06ec3958561539dbad59bc60a4dd2e04fb9#egg=cloudharness_cli&subdirectory=libraries/client/cloudharness_cli,coverage==6.3,cryptography==36.0.1,ecdsa==0.17.0,Flask==2.0.2,google-auth==2.4.1,idna==3.3,iniconfig==1.1.1,itsdangerous==2.0.1,Jinja2==3.0.3,kafka-python==2.0.2,kubernetes==21.7.0,MarkupSafe==2.0.1,nose==1.3.7,oauthlib==3.1.1,packaging==21.3,pluggy==1.0.0,py==1.11.0,pyaml==21.10.1,pyasn1==0.4.8,pyasn1-modules==0.2.8,pycparser==2.21,PyJWT==1.7.1,pyparsing==3.0.7,pytest==6.2.5,pytest-cov==3.0.0,python-dateutil==2.8.2,python-jose==3.3.0,python-keycloak==0.26.1,PyYAML==6.0,randomize==0.14,requests==2.27.1,requests-oauthlib==1.3.0,rsa==4.8,sentry-sdk==1.5.4,six==1.16.0,toml==0.10.2,urllib3==1.26.8,websocket-client==1.2.3,Werkzeug==2.0.2
py3 run-test-pre: PYTHONHASHSEED='3722450943'
py3 run-test: commands[0] | coverage run --source cloudharness -m pytest -v --capture=sys
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.8.10, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common/.tox/py3/bin/python
cachedir: .tox/py3/.pytest_cache
rootdir: /home/ddelpiano/git/metacell/cloud-harness/libraries/cloudharness-common
plugins: cov-3.0.0
collected 16 items                                                                                                                                                                                                

tests/test_applications.py::test_application_conf PASSED                                                                                                                                                    [  6%]
tests/test_applications.py::test_get_configuration PASSED                                                                                                                                                   [ 12%]
tests/test_infrastructure.py::test_get_pods PASSED                                                                                                                                                          [ 18%]
tests/test_integration.py::test_something PASSED                                                                                                                                                            [ 25%]
tests/test_workflow.py::test_sync_workflow PASSED                                                                                                                                                           [ 31%]
tests/test_workflow.py::test_pipeline_workflow PASSED                                                                                                                                                       [ 37%]
tests/test_workflow.py::test_parallel_workflow PASSED                                                                                                                                                       [ 43%]
tests/test_workflow.py::test_simpledag_workflow PASSED                                                                                                                                                      [ 50%]
tests/test_workflow.py::test_custom_task_workflow PASSED                                                                                                                                                    [ 56%]
tests/test_workflow.py::test_custom_connected_task_workflow PASSED                                                                                                                                          [ 62%]
tests/test_workflow.py::test_result_task_workflow PASSED                                                                                                                                                    [ 68%]
tests/test_workflow.py::test_get_workflows PASSED                                                                                                                                                           [ 75%]
tests/test_workflow.py::test_submit_workflow PASSED                                                                                                                                                         [ 81%]
tests/test_workflow.py::test_get_workflow PASSED                                                                                                                                                            [ 87%]
tests/test_workflow.py::test_get_workflow_logs PASSED                                                                                                                                                       [ 93%]
tests/test_workflow.py::test_workflow_with_context PASSED                                                                                                                                                   [100%]

=============================================================================================== 16 passed in 1.17s ================================================================================================
py3 run-test: commands[1] | coverage report -m
Name                                                        Stmts   Miss Branch BrPart  Cover   Missing
-------------------------------------------------------------------------------------------------------
cloudharness/__init__.py                                       18      7      4      0    59%   30-36
cloudharness/applications.py                                   75     19     24      5    70%   21, 39, 45-50, 54, 62, 67, 74, 83, 87, 93, 95, 106-109
cloudharness/auth/__init__.py                                   1      0      0      0   100%
cloudharness/auth/keycloak/__init__.py                        191    111     28      1    39%   23, 35->38, 39, 47-51, 67-68, 76-98, 105, 117-125, 128-133, 137-145, 160-162, 175-178, 203-215, 226-234, 248-258, 271-275, 291-299, 317-322, 336, 351-352, 363, 375-377, 386-387, 398-400, 410-412, 422, 434, 447-449, 461-470, 481-492
cloudharness/errors.py                                         20      8     12      0    75%   3-4, 8-9, 13-14, 18-19
cloudharness/events/__init__.py                                 0      0      0      0   100%
cloudharness/events/client.py                                 147    107     46      1    22%   30-32, 37, 41, 45, 48, 62-76, 85-102, 105, 124-182, 187-195, 199-213, 216-218, 221-233, 236-247, 251-262
cloudharness/events/decorators.py                              18     18      2      0     0%   1-38
cloudharness/infrastructure/__init__.py                         0      0      0      0   100%
cloudharness/infrastructure/k8s.py                             67     35      6      1    45%   49-55, 63-66, 70-72, 76-81, 85-90, 94-97, 101-105, 109-111
cloudharness/persistence/__init__.py                            0      0      0      0   100%
cloudharness/persistence/graph_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/graph_database/neo4j/__init__.py       0      0      0      0   100%
cloudharness/persistence/nosql_database/__init__.py             0      0      0      0   100%
cloudharness/persistence/nosql_database/mongo.py                0      0      0      0   100%
cloudharness/persistence/sql_database/__init__.py               0      0      0      0   100%
cloudharness/sentry/__init__.py                                23     23      4      0     0%   1-60
cloudharness/service/__init__.py                                0      0      0      0   100%
cloudharness/service/pvc.py                                    33     33      8      0     0%   1-83
cloudharness/utils/__init__.py                                  9      8      8      0     6%   23-37
cloudharness/utils/config.py                                   90     10     30      2    90%   23, 56, 69, 79-80, 84, 89-90, 127-128
cloudharness/utils/env.py                                      86     39     12      1    55%   26->exit, 37-38, 45-46, 54-58, 66-71, 74, 79-80, 84, 88-90, 94, 98-101, 104, 108, 112, 116, 119, 122-123, 126, 129-130, 133, 137, 141
cloudharness/utils/secrets.py                                  11      6      2      0    54%   8, 21-26
cloudharness/utils/server.py                                   80     80     20      0     0%   1-120
cloudharness/utils/settings.py                                  0      0      0      0   100%
cloudharness/workflows/__init__.py                              0      0      0      0   100%
cloudharness/workflows/argo.py                                117     70     34      1    41%   22-23, 28, 33-34, 41, 44, 59, 64-67, 70, 73, 76, 79, 82, 86, 91-93, 96, 99, 105-109, 113-117, 124-132, 136-144, 148-154, 158-169, 173, 177-183, 187-190
cloudharness/workflows/operations.py                          213     59     96      6    75%   54, 73, 77, 103, 145-158, 163->165, 165->167, 172-178, 181-184, 187, 190-193, 210-211, 214, 247-257, 274-275, 278, 308, 312, 340, 360, 364-372, 394-398, 401-408
cloudharness/workflows/tasks.py                                82     10     22      1    89%   19, 25, 79, 105, 125-126, 131, 135, 155, 160
cloudharness/workflows/utils.py                                14      6      0      0    57%   13-15, 19, 23-24
-------------------------------------------------------------------------------------------------------
TOTAL                                                        1295    649    358     19    50%
_____________________________________________________________________________________________________ summary _____________________________________________________________________________________________________
ERROR:  py37: InterpreterNotFound: python3.7
  py38: commands succeeded
  py39: commands succeeded
  py310: commands succeeded
  py3: commands succeeded