pyntcli 0.1.46__py3-none-any.whl → 0.1.48__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.
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py +74 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py +24 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/build/lib/pyntcli/__init__.py +1 -1
- build/lib/build/lib/tests/auth/test_login.py +96 -0
- build/lib/build/lib/tests/store/test_cred_store.py +11 -0
- build/lib/pyntcli/__init__.py +1 -1
- build/lib/tests/auth/test_login.py +96 -0
- build/lib/tests/store/test_cred_store.py +11 -0
- pyntcli/__init__.py +1 -1
- pyntcli/auth/login.py +3 -0
- pyntcli/commands/postman.py +4 -0
- pyntcli/commands/root.py +1 -0
- pyntcli/pynt_docker/pynt_container.py +10 -2
- {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/METADATA +1 -1
- pyntcli-0.1.48.dist-info/RECORD +127 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/build/lib/pyntcli/auth/login.py +0 -156
- build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/build/lib/pyntcli/commands/har.py +0 -67
- build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/build/lib/pyntcli/commands/root.py +0 -58
- build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/build/lib/pyntcli/commands/util.py +0 -71
- build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/build/lib/pyntcli/store/store.py +0 -58
- build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/build/lib/pyntcli/transport/__init__.py +0 -0
- build/lib/build/lib/pyntcli/transport/pynt_requests.py +0 -54
- build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/build/lib/pyntcli/ui/report.py +0 -62
- build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
- build/lib/pyntcli/analytics/__init__.py +0 -0
- build/lib/pyntcli/analytics/send.py +0 -77
- build/lib/pyntcli/auth/__init__.py +0 -0
- build/lib/pyntcli/auth/login.py +0 -156
- build/lib/pyntcli/commands/__init__.py +0 -0
- build/lib/pyntcli/commands/har.py +0 -67
- build/lib/pyntcli/commands/id_command.py +0 -28
- build/lib/pyntcli/commands/newman.py +0 -77
- build/lib/pyntcli/commands/postman.py +0 -50
- build/lib/pyntcli/commands/proxy.py +0 -147
- build/lib/pyntcli/commands/pynt_cmd.py +0 -73
- build/lib/pyntcli/commands/root.py +0 -58
- build/lib/pyntcli/commands/sub_command.py +0 -15
- build/lib/pyntcli/commands/util.py +0 -71
- build/lib/pyntcli/pynt_docker/__init__.py +0 -1
- build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
- build/lib/pyntcli/store/__init__.py +0 -1
- build/lib/pyntcli/store/json_connector.py +0 -23
- build/lib/pyntcli/store/store.py +0 -58
- build/lib/pyntcli/store/store_connector.py +0 -17
- build/lib/pyntcli/transport/__init__.py +0 -0
- build/lib/pyntcli/transport/pynt_requests.py +0 -54
- build/lib/pyntcli/ui/__init__.py +0 -0
- build/lib/pyntcli/ui/progress.py +0 -39
- build/lib/pyntcli/ui/pynt_errors.py +0 -7
- build/lib/pyntcli/ui/report.py +0 -62
- build/lib/pyntcli/ui/ui_thread.py +0 -172
- pyntcli-0.1.46.dist-info/RECORD +0 -349
- {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/WHEEL +0 -0
- {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/entry_points.txt +0 -0
- {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/top_level.txt +0 -0
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
import time
|
|
3
|
-
import os
|
|
4
|
-
from functools import partial
|
|
5
|
-
|
|
6
|
-
from pyntcli.pynt_docker import pynt_container
|
|
7
|
-
from pyntcli.commands import sub_command, util
|
|
8
|
-
from pyntcli.ui import ui_thread
|
|
9
|
-
from pyntcli.ui.progress import PyntProgress
|
|
10
|
-
|
|
11
|
-
def newman_usage():
|
|
12
|
-
return ui_thread.PrinterText("Integration with newman, run scan using postman collection from the CLI") \
|
|
13
|
-
.with_line("") \
|
|
14
|
-
.with_line("Usage:", style=ui_thread.PrinterText.HEADER) \
|
|
15
|
-
.with_line("\tpynt newman [OPTIONS]") \
|
|
16
|
-
.with_line("") \
|
|
17
|
-
.with_line("Options:", style=ui_thread.PrinterText.HEADER) \
|
|
18
|
-
.with_line("\t--collection - Postman collection file name") \
|
|
19
|
-
.with_line("\t--environment - Postman environment file name") \
|
|
20
|
-
.with_line("\t--reporters output results to json") \
|
|
21
|
-
.with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
|
|
22
|
-
|
|
23
|
-
class NewmanSubCommand(sub_command.PyntSubCommand):
|
|
24
|
-
def __init__(self, name) -> None:
|
|
25
|
-
super().__init__(name)
|
|
26
|
-
|
|
27
|
-
def usage(self, *args):
|
|
28
|
-
ui_thread.print(newman_usage())
|
|
29
|
-
|
|
30
|
-
def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
|
|
31
|
-
newman_cmd = parent.add_parser(self.name)
|
|
32
|
-
newman_cmd.add_argument("--collection", type=str, required=True)
|
|
33
|
-
newman_cmd.add_argument("--environment", type=str, required=False)
|
|
34
|
-
newman_cmd.add_argument("--reporters", action="store_true",default=False, required=False)
|
|
35
|
-
newman_cmd.print_usage = self.usage
|
|
36
|
-
newman_cmd.print_help = self.usage
|
|
37
|
-
return newman_cmd
|
|
38
|
-
|
|
39
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
40
|
-
port = str(util.find_open_port())
|
|
41
|
-
container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(src=port, dest=port, name="--port"))
|
|
42
|
-
|
|
43
|
-
if not os.path.isfile(args.collection):
|
|
44
|
-
ui_thread.print(ui_thread.PrinterText("Could not find the provided collection path, please provide with a valid collection path", ui_thread.PrinterText.WARNING))
|
|
45
|
-
return
|
|
46
|
-
|
|
47
|
-
collection_name = os.path.basename(args.collection)
|
|
48
|
-
container.docker_arguments += ["-c", collection_name]
|
|
49
|
-
container.mounts.append(pynt_container.create_mount(os.path.abspath(args.collection), "/etc/pynt/{}".format(collection_name)))
|
|
50
|
-
|
|
51
|
-
if "environment" in args and args.environment:
|
|
52
|
-
if not os.path.isfile(args.environment):
|
|
53
|
-
ui_thread.print(ui_thread.PrinterText("Could not find the provided environment path, please provide with a valid environment path", ui_thread.PrinterText.WARNING))
|
|
54
|
-
return
|
|
55
|
-
|
|
56
|
-
env_name = os.path.basename(args.environment)
|
|
57
|
-
container.docker_arguments += ["-e", env_name]
|
|
58
|
-
container.mounts.append(pynt_container.create_mount(os.path.abspath(args.environment), "/etc/pynt/{}".format(env_name)))
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
with util.create_default_file_mounts(args) as m:
|
|
62
|
-
|
|
63
|
-
container.mounts += m
|
|
64
|
-
|
|
65
|
-
newman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
66
|
-
tag="latest",
|
|
67
|
-
detach=True,
|
|
68
|
-
base_container=container)
|
|
69
|
-
|
|
70
|
-
newman_docker.run()
|
|
71
|
-
|
|
72
|
-
healthcheck = partial(util.wait_for_healthcheck, "http://localhost:{}".format(port))
|
|
73
|
-
ui_thread.print_generator(ui_thread.AnsiText.wrap_gen(newman_docker.stdout))
|
|
74
|
-
|
|
75
|
-
with ui_thread.progress("ws://localhost:{}/progress".format(port),healthcheck, "scan in progress...",100):
|
|
76
|
-
while newman_docker.is_alive():
|
|
77
|
-
time.sleep(1)
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
import time
|
|
3
|
-
|
|
4
|
-
from . import sub_command, util
|
|
5
|
-
from pyntcli.pynt_docker import pynt_container
|
|
6
|
-
from pyntcli.ui import ui_thread
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def postman_usage():
|
|
10
|
-
return ui_thread.PrinterText("Integration with postman, run scan from pynt postman collection") \
|
|
11
|
-
.with_line("") \
|
|
12
|
-
.with_line("Usage:",style=ui_thread.PrinterText.HEADER) \
|
|
13
|
-
.with_line("\tpynt postman [OPTIONS]") \
|
|
14
|
-
.with_line("") \
|
|
15
|
-
.with_line("Options:",style=ui_thread.PrinterText.HEADER) \
|
|
16
|
-
.with_line("\t--port - set the port pynt will listen to (DEFAULT: 5001)") \
|
|
17
|
-
.with_line("\t--insecure - use when target uses self signed certificates") \
|
|
18
|
-
.with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
|
|
19
|
-
|
|
20
|
-
class PostmanSubCommand(sub_command.PyntSubCommand):
|
|
21
|
-
def __init__(self, name) -> None:
|
|
22
|
-
super().__init__(name)
|
|
23
|
-
|
|
24
|
-
def usage(self, *args):
|
|
25
|
-
ui_thread.print(postman_usage())
|
|
26
|
-
|
|
27
|
-
def add_cmd(self, parent_command: argparse._SubParsersAction) -> argparse.ArgumentParser:
|
|
28
|
-
postman_cmd = parent_command.add_parser(self.name)
|
|
29
|
-
postman_cmd.add_argument("--port", "-p", help="set the port pynt will listen to (DEFAULT: 5001)", type=int, default=5001)
|
|
30
|
-
postman_cmd.print_usage = self.usage
|
|
31
|
-
postman_cmd.print_help = self.usage
|
|
32
|
-
return postman_cmd
|
|
33
|
-
|
|
34
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
35
|
-
container = pynt_container.get_container_with_arguments(args ,pynt_container.PyntDockerPort("5001", args.port, name="--port"))
|
|
36
|
-
|
|
37
|
-
if util.is_port_in_use(args.port):
|
|
38
|
-
ui_thread.print(ui_thread.PrinterText("Port: {} already in use, please use a different one".format(args.port), ui_thread.PrinterText.WARNING))
|
|
39
|
-
return
|
|
40
|
-
|
|
41
|
-
postman_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
42
|
-
tag="postman-latest",
|
|
43
|
-
detach=True,
|
|
44
|
-
base_container=container)
|
|
45
|
-
|
|
46
|
-
postman_docker.run()
|
|
47
|
-
ui_thread.print_generator(postman_docker.stdout)
|
|
48
|
-
|
|
49
|
-
while postman_docker.is_alive():
|
|
50
|
-
time.sleep(1)
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
from copy import deepcopy
|
|
3
|
-
import os
|
|
4
|
-
import webbrowser
|
|
5
|
-
from http import HTTPStatus
|
|
6
|
-
import time
|
|
7
|
-
import tempfile
|
|
8
|
-
from subprocess import Popen, PIPE
|
|
9
|
-
from functools import partial
|
|
10
|
-
|
|
11
|
-
from pyntcli.pynt_docker import pynt_container
|
|
12
|
-
from pyntcli.ui import ui_thread
|
|
13
|
-
from pyntcli.commands import util, sub_command
|
|
14
|
-
from pyntcli.ui import report as cli_reporter
|
|
15
|
-
from pyntcli.transport import pynt_requests
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def proxy_usage():
|
|
20
|
-
return ui_thread.PrinterText("Command integration to Pynt. Run a security scan with a given command.") \
|
|
21
|
-
.with_line("") \
|
|
22
|
-
.with_line("Usage:",style=ui_thread.PrinterText.HEADER) \
|
|
23
|
-
.with_line("\tpynt command [OPTIONS]") \
|
|
24
|
-
.with_line("") \
|
|
25
|
-
.with_line("Options:",style=ui_thread.PrinterText.HEADER) \
|
|
26
|
-
.with_line("\t--cmd - The command that runs the functional tests") \
|
|
27
|
-
.with_line("\t--port - Set the port pynt will listen to (DEFAULT: 5001)") \
|
|
28
|
-
.with_line("\t--allow-errors - If present will allow command to fail and continue execution") \
|
|
29
|
-
.with_line("\t--ca-path - The path to the CA file in PEM format") \
|
|
30
|
-
.with_line("\t--proxy-port - Set the port proxied traffic should be routed to (DEFAULT: 6666)") \
|
|
31
|
-
.with_line("\t--report - If present will save the generated report in this path.") \
|
|
32
|
-
.with_line("\t--insecure - use when target uses self signed certificates") \
|
|
33
|
-
.with_line("\t--host-ca - path to the CA file in PEM format to enable SSL certificate verification for pynt when running through a VPN.")
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
class ProxyCommand(sub_command.PyntSubCommand):
|
|
37
|
-
def __init__(self, name) -> None:
|
|
38
|
-
super().__init__(name)
|
|
39
|
-
self.scan_id = ""
|
|
40
|
-
self.proxy_sleep_interval = 2
|
|
41
|
-
self.proxy_healthcheck_buffer = 10
|
|
42
|
-
self.proxy_server_base_url = "http://localhost:{}/api"
|
|
43
|
-
|
|
44
|
-
def print_usage(self, *args):
|
|
45
|
-
ui_thread.print(proxy_usage())
|
|
46
|
-
|
|
47
|
-
def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
|
|
48
|
-
proxy_cmd = parent.add_parser(self.name)
|
|
49
|
-
proxy_cmd.add_argument("--port", "-p", help="", type=int, default=5001)
|
|
50
|
-
proxy_cmd.add_argument("--proxy-port", help="", type=int, default=6666)
|
|
51
|
-
proxy_cmd.add_argument("--cmd", help="", default="", required=True)
|
|
52
|
-
proxy_cmd.add_argument("--allow-errors", action="store_true")
|
|
53
|
-
proxy_cmd.add_argument("--ca-path", type=str, default="")
|
|
54
|
-
proxy_cmd.add_argument("--report", type=str, default="")
|
|
55
|
-
proxy_cmd.print_usage = self.print_usage
|
|
56
|
-
proxy_cmd.print_help = self.print_usage
|
|
57
|
-
return proxy_cmd
|
|
58
|
-
|
|
59
|
-
def _updated_environment(self, args):
|
|
60
|
-
env_copy = deepcopy(os.environ)
|
|
61
|
-
return env_copy.update({"HTTP_PROXY": "http://localhost:{}".format(args.proxy_port),
|
|
62
|
-
"HTTPS_PROXY": "http://localhost:{}".format(args.proxy_port)})
|
|
63
|
-
|
|
64
|
-
def _start_proxy(self, args):
|
|
65
|
-
res = pynt_requests.put(self.proxy_server_base_url.format(args.port) + "/proxy/start")
|
|
66
|
-
res.raise_for_status()
|
|
67
|
-
self.scan_id = res.json()["scanId"]
|
|
68
|
-
|
|
69
|
-
def _stop_proxy(self, args):
|
|
70
|
-
start = time.time()
|
|
71
|
-
while start + self.proxy_healthcheck_buffer > time.time():
|
|
72
|
-
res = pynt_requests.put(self.proxy_server_base_url.format(args.port) + "/proxy/stop", json={"scanId": self.scan_id})
|
|
73
|
-
if res.status_code == HTTPStatus.OK:
|
|
74
|
-
return
|
|
75
|
-
time.sleep(self.proxy_sleep_interval)
|
|
76
|
-
raise TimeoutError()
|
|
77
|
-
|
|
78
|
-
def _get_report(self, args,report_format):
|
|
79
|
-
while True:
|
|
80
|
-
res = pynt_requests.get(self.proxy_server_base_url.format(args.port) + "/report?format={}".format(report_format), params={"scanId": self.scan_id})
|
|
81
|
-
if res.status_code == HTTPStatus.OK:
|
|
82
|
-
return res.text
|
|
83
|
-
if res.status_code == HTTPStatus.ACCEPTED:
|
|
84
|
-
time.sleep(self.proxy_sleep_interval)
|
|
85
|
-
continue
|
|
86
|
-
if res.status_code == 517: #pynt did not recieve any requests
|
|
87
|
-
ui_thread.print(ui_thread.PrinterText(res.json()["message"], ui_thread.PrinterText.WARNING))
|
|
88
|
-
return
|
|
89
|
-
ui_thread.print("Error in polling for scan report: {}".format(res.text))
|
|
90
|
-
return
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
94
|
-
container = pynt_container.get_container_with_arguments(args, pynt_container.PyntDockerPort(args.port, args.port, "--port"),
|
|
95
|
-
pynt_container.PyntDockerPort(args.proxy_port, args.proxy_port, "--proxy-port"))
|
|
96
|
-
if "ca_path" in args and args.ca_path:
|
|
97
|
-
if not os.path.isfile(args.ca_path):
|
|
98
|
-
ui_thread.print(ui_thread.PrinterText("Could not find the provided ca path, please provide with a valid path", ui_thread.PrinterText.WARNING))
|
|
99
|
-
return
|
|
100
|
-
|
|
101
|
-
ca_name = os.path.basename(args.ca_path)
|
|
102
|
-
container.docker_arguments += ["--ca-path", ca_name]
|
|
103
|
-
container.mounts.append(pynt_container.create_mount(os.path.abspath(args.ca_path), "/etc/pynt/{}".format(ca_name)))
|
|
104
|
-
|
|
105
|
-
proxy_docker = pynt_container.PyntContainer(image_name=pynt_container.PYNT_DOCKER_IMAGE,
|
|
106
|
-
tag="proxy-latest",
|
|
107
|
-
detach=True,
|
|
108
|
-
base_container=container)
|
|
109
|
-
proxy_docker.run()
|
|
110
|
-
ui_thread.print_generator(proxy_docker.stdout)
|
|
111
|
-
|
|
112
|
-
util.wait_for_healthcheck("http://localhost:{}".format(args.port))
|
|
113
|
-
self._start_proxy(args)
|
|
114
|
-
|
|
115
|
-
user_process = Popen(args.cmd, shell=True, stdout=PIPE, stderr=PIPE, env=self._updated_environment(args))
|
|
116
|
-
ui_thread.print_generator(user_process.stdout)
|
|
117
|
-
ui_thread.print_generator(user_process.stderr)
|
|
118
|
-
rc = user_process.wait()
|
|
119
|
-
if rc != 0 and not args.allow_errors:
|
|
120
|
-
proxy_docker.stop()
|
|
121
|
-
ui_thread.print(ui_thread.PrinterText("Command finished with error return code {}, If you wish Pynt to run anyway, run with --allow-errors".format(rc)))
|
|
122
|
-
return
|
|
123
|
-
|
|
124
|
-
self._stop_proxy(args)
|
|
125
|
-
|
|
126
|
-
with ui_thread.progress("ws://localhost:{}/progress?scanId={}".format(args.port, self.scan_id),partial(lambda *args: None), "scan in progress...", 100):
|
|
127
|
-
html_report = self._get_report(args,"html")
|
|
128
|
-
html_report_path = os.path.join(tempfile.gettempdir(), "pynt_report_{}.html".format(int(time.time())))
|
|
129
|
-
|
|
130
|
-
json_report = self._get_report(args,"json")
|
|
131
|
-
json_report_path = os.path.join(tempfile.gettempdir(), "pynt_report_{}.json".format(int(time.time())))
|
|
132
|
-
|
|
133
|
-
if "report" in args and args.report:
|
|
134
|
-
html_report_path = util.get_user_report_path(args.report,"html")
|
|
135
|
-
json_report_path = util.get_user_report_path(args.report,"json")
|
|
136
|
-
|
|
137
|
-
if html_report:
|
|
138
|
-
with open(html_report_path, "w") as html_file:
|
|
139
|
-
html_file.write(html_report)
|
|
140
|
-
webbrowser.open("file://{}".format(html_report_path))
|
|
141
|
-
|
|
142
|
-
if json_report:
|
|
143
|
-
with open(json_report_path, "w") as json_file:
|
|
144
|
-
json_file.write(json_report)
|
|
145
|
-
cli_reporter.PyntReporter(json_report_path).print_summary()
|
|
146
|
-
|
|
147
|
-
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
from typing import Dict, List
|
|
3
|
-
from pyntcli import __version__ as cli_version
|
|
4
|
-
from pyntcli.analytics import send as analytics
|
|
5
|
-
from pyntcli.transport import pynt_requests
|
|
6
|
-
from pyntcli.ui import ui_thread
|
|
7
|
-
from distutils.version import StrictVersion
|
|
8
|
-
|
|
9
|
-
from . import postman, root, sub_command, id_command, proxy , newman, har
|
|
10
|
-
|
|
11
|
-
avail_sub_commands = [
|
|
12
|
-
postman.PostmanSubCommand("postman"),
|
|
13
|
-
id_command.PyntShowIdCommand("pynt-id"),
|
|
14
|
-
newman.NewmanSubCommand("newman"),
|
|
15
|
-
har.HarSubCommand("har"),
|
|
16
|
-
proxy.ProxyCommand("command"),
|
|
17
|
-
]
|
|
18
|
-
|
|
19
|
-
class PyntCommandException(Exception):
|
|
20
|
-
pass
|
|
21
|
-
|
|
22
|
-
class BadArgumentsException(PyntCommandException):
|
|
23
|
-
pass
|
|
24
|
-
|
|
25
|
-
class NoSuchCommandException(PyntCommandException):
|
|
26
|
-
pass
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
VERSION_CHECK_URL = "https://d1efigcr4c19qn.cloudfront.net/cli/version"
|
|
30
|
-
|
|
31
|
-
def check_is_latest_version(current_version):
|
|
32
|
-
res = pynt_requests.get(VERSION_CHECK_URL)
|
|
33
|
-
res.raise_for_status()
|
|
34
|
-
|
|
35
|
-
latest_versions = res.text.replace("\n","")
|
|
36
|
-
|
|
37
|
-
if current_version != latest_versions:
|
|
38
|
-
ui_thread.print(ui_thread.PrinterText("""Pynt CLI new version is available, upgrade now with:
|
|
39
|
-
python3 -m pip install --upgrade pyntcli""",ui_thread.PrinterText.WARNING))
|
|
40
|
-
|
|
41
|
-
class PyntCommand:
|
|
42
|
-
def __init__(self) -> None:
|
|
43
|
-
self.base: root.BaseCommand = root.BaseCommand()
|
|
44
|
-
self.sub_commands: Dict[str, sub_command.PyntSubCommand] = {sc.get_name(): sc for sc in avail_sub_commands}
|
|
45
|
-
self._start_command()
|
|
46
|
-
|
|
47
|
-
def _start_command(self):
|
|
48
|
-
self.base.cmd()
|
|
49
|
-
for sc in self.sub_commands.values():
|
|
50
|
-
self.base.add_base_arguments(sc.add_cmd(self.base.get_subparser()))
|
|
51
|
-
|
|
52
|
-
def parse_args(self, args_from_cmd: List[str]):
|
|
53
|
-
return self.base.cmd().parse_args(args_from_cmd)
|
|
54
|
-
|
|
55
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
56
|
-
if not "command" in args:
|
|
57
|
-
raise BadArgumentsException()
|
|
58
|
-
|
|
59
|
-
command = getattr(args, "command")
|
|
60
|
-
if not command in self.sub_commands:
|
|
61
|
-
raise NoSuchCommandException()
|
|
62
|
-
|
|
63
|
-
if "host_ca" in args and args.host_ca:
|
|
64
|
-
pynt_requests.add_host_ca(args.host_ca)
|
|
65
|
-
|
|
66
|
-
if "insecure" in args and args.insecure:
|
|
67
|
-
pynt_requests.disable_tls_termination()
|
|
68
|
-
|
|
69
|
-
check_is_latest_version(cli_version)
|
|
70
|
-
analytics.emit(analytics.CLI_START)
|
|
71
|
-
|
|
72
|
-
self.base.run_cmd(args)
|
|
73
|
-
self.sub_commands[command].run_cmd(args)
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
|
-
from pyntcli.auth import login
|
|
5
|
-
from pyntcli.ui import ui_thread
|
|
6
|
-
from pyntcli.analytics import send as analytics
|
|
7
|
-
|
|
8
|
-
def root_usage():
|
|
9
|
-
return ui_thread.PrinterText("Usage:",style=ui_thread.PrinterText.HEADER) \
|
|
10
|
-
.with_line("\tpynt [COMMAND] [OPTIONS]") \
|
|
11
|
-
.with_line("") \
|
|
12
|
-
.with_line("Commands:",style=ui_thread.PrinterText.HEADER) \
|
|
13
|
-
.with_line("\tpostman - integration with postman, run scan from pynt postman collection") \
|
|
14
|
-
.with_line("\tnewman - run postman collection from the CLI") \
|
|
15
|
-
.with_line("\tpynt-id - view your pynt-id to use when running pynt in CI pipeline") \
|
|
16
|
-
.with_line("") \
|
|
17
|
-
.with_line("Run pynt [COMMAND] -h to get help on a specific command",style=ui_thread.PrinterText.INFO)
|
|
18
|
-
|
|
19
|
-
def usage(*args):
|
|
20
|
-
ui_thread.print(root_usage())
|
|
21
|
-
|
|
22
|
-
class BaseCommand():
|
|
23
|
-
def __init__(self) -> None:
|
|
24
|
-
self.base: argparse.ArgumentParser = None
|
|
25
|
-
self.subparser: argparse._SubParsersAction = None
|
|
26
|
-
|
|
27
|
-
def cmd(self):
|
|
28
|
-
if self.base:
|
|
29
|
-
return self.base
|
|
30
|
-
|
|
31
|
-
self.base = argparse.ArgumentParser(prog="pynt")
|
|
32
|
-
self.base.print_usage = usage
|
|
33
|
-
self.base.print_help = usage
|
|
34
|
-
return self.base
|
|
35
|
-
|
|
36
|
-
def add_base_arguments(self, parser):
|
|
37
|
-
parser.add_argument("--insecure", default=False, required=False, action='store_true',help="use when target uses self signed certificates")
|
|
38
|
-
parser.add_argument("--dev-flags", type=str,default="", help=argparse.SUPPRESS)
|
|
39
|
-
parser.add_argument("--host-ca", type=str, default="")
|
|
40
|
-
|
|
41
|
-
def get_subparser(self) -> argparse._SubParsersAction:
|
|
42
|
-
if self.subparser is None:
|
|
43
|
-
self.subparser = self.base.add_subparsers(help="", dest="command")
|
|
44
|
-
|
|
45
|
-
return self.subparser
|
|
46
|
-
|
|
47
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
48
|
-
analytics.emit(analytics.LOGIN_START)
|
|
49
|
-
|
|
50
|
-
if login.should_login():
|
|
51
|
-
l = login.Login().login()
|
|
52
|
-
else:
|
|
53
|
-
login.refresh_token()
|
|
54
|
-
|
|
55
|
-
analytics.emit(analytics.LOGIN_DONE)
|
|
56
|
-
user_id = login.user_id()
|
|
57
|
-
if user_id:
|
|
58
|
-
analytics.set_user_id(user_id)
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
|
|
3
|
-
class PyntSubCommand:
|
|
4
|
-
def __init__(self, name) -> None:
|
|
5
|
-
self.name = name
|
|
6
|
-
pass
|
|
7
|
-
|
|
8
|
-
def get_name(self):
|
|
9
|
-
return self.name
|
|
10
|
-
|
|
11
|
-
def add_cmd(self, parent: argparse._SubParsersAction) -> argparse.ArgumentParser:
|
|
12
|
-
raise NotImplemented()
|
|
13
|
-
|
|
14
|
-
def run_cmd(self, args: argparse.Namespace):
|
|
15
|
-
raise NotImplemented()
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import time
|
|
2
|
-
import socket
|
|
3
|
-
import os
|
|
4
|
-
import tempfile
|
|
5
|
-
from contextlib import contextmanager
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
import webbrowser
|
|
8
|
-
|
|
9
|
-
from pyntcli.pynt_docker import pynt_container
|
|
10
|
-
from pyntcli.ui import report
|
|
11
|
-
from pyntcli.ui import pynt_errors
|
|
12
|
-
from pyntcli.transport import pynt_requests
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def is_port_in_use(port: int) -> bool:
|
|
16
|
-
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
17
|
-
return s.connect_ex(('localhost', port)) == 0
|
|
18
|
-
|
|
19
|
-
def find_open_port() -> int:
|
|
20
|
-
with socket.socket() as s:
|
|
21
|
-
s.bind(('', 0))
|
|
22
|
-
return s.getsockname()[1]
|
|
23
|
-
|
|
24
|
-
HEALTHCHECK_TIMEOUT = 10
|
|
25
|
-
HEALTHCHECK_INTERVAL = 0.1
|
|
26
|
-
|
|
27
|
-
def wait_for_healthcheck(address):
|
|
28
|
-
start = time.time()
|
|
29
|
-
while start + HEALTHCHECK_TIMEOUT > time.time():
|
|
30
|
-
try:
|
|
31
|
-
res = pynt_requests.get(address + "/healthcheck")
|
|
32
|
-
if res.status_code == 418:
|
|
33
|
-
return
|
|
34
|
-
except:
|
|
35
|
-
time.sleep(HEALTHCHECK_INTERVAL)
|
|
36
|
-
raise TimeoutError()
|
|
37
|
-
|
|
38
|
-
def get_user_report_path(path,file_type):
|
|
39
|
-
path = Path(path)
|
|
40
|
-
if path.is_dir():
|
|
41
|
-
return os.path.join(path, "pynt_results_{}.{}".format(int(time.time()),file_type))
|
|
42
|
-
|
|
43
|
-
return os.path.join(str(path.parent), path.stem + ".{}".format(file_type))
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class HtmlReportNotCreatedException(Exception):
|
|
47
|
-
pass
|
|
48
|
-
|
|
49
|
-
@contextmanager
|
|
50
|
-
def create_default_file_mounts(args):
|
|
51
|
-
html_report_path = os.path.join(tempfile.gettempdir(), "results.html")
|
|
52
|
-
json_report_path = os.path.join(tempfile.gettempdir(), "results.json")
|
|
53
|
-
|
|
54
|
-
if "reporters" in args and args.reporters:
|
|
55
|
-
html_report_path = os.path.join(os.getcwd(), "pynt_results.html")
|
|
56
|
-
json_report_path = os.path.join(os.getcwd(), "pynt_results.json")
|
|
57
|
-
|
|
58
|
-
mounts = []
|
|
59
|
-
with open(html_report_path, "w"), open(json_report_path, "w"):
|
|
60
|
-
mounts.append(pynt_container.create_mount(json_report_path, "/etc/pynt/results/results.json"))
|
|
61
|
-
mounts.append(pynt_container.create_mount(html_report_path, "/etc/pynt/results/results.html"))
|
|
62
|
-
|
|
63
|
-
yield mounts
|
|
64
|
-
|
|
65
|
-
if os.stat(html_report_path).st_size == 0:
|
|
66
|
-
raise HtmlReportNotCreatedException()
|
|
67
|
-
|
|
68
|
-
webbrowser.open("file://{}".format(html_report_path))
|
|
69
|
-
|
|
70
|
-
if os.stat(html_report_path).st_size > 0:
|
|
71
|
-
report.PyntReporter(json_report_path).print_summary()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from .pynt_container import *
|