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.
Files changed (358) hide show
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. 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
  35. 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
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  43. 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
  44. 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
  45. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  46. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  47. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  48. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  49. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  50. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  51. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  52. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  53. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  54. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  55. build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  56. build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  57. build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  58. build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  59. build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  60. build/lib/build/lib/build/lib/pyntcli/__init__.py +1 -1
  61. build/lib/build/lib/build/lib/tests/auth/test_login.py +96 -0
  62. build/lib/build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  63. build/lib/build/lib/pyntcli/__init__.py +1 -1
  64. build/lib/build/lib/tests/auth/test_login.py +96 -0
  65. build/lib/build/lib/tests/store/test_cred_store.py +11 -0
  66. build/lib/pyntcli/__init__.py +1 -1
  67. build/lib/tests/auth/test_login.py +96 -0
  68. build/lib/tests/store/test_cred_store.py +11 -0
  69. pyntcli/__init__.py +1 -1
  70. pyntcli/auth/login.py +3 -0
  71. pyntcli/commands/postman.py +4 -0
  72. pyntcli/commands/root.py +1 -0
  73. pyntcli/pynt_docker/pynt_container.py +10 -2
  74. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/METADATA +1 -1
  75. pyntcli-0.1.48.dist-info/RECORD +127 -0
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. 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
  121. 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
  122. 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
  123. 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
  124. 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
  125. 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
  126. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  127. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  128. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  129. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  130. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  131. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  132. 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
  133. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  134. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  135. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  136. 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
  137. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  138. 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
  139. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  140. 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
  141. 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
  142. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  143. 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
  144. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  145. 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
  146. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  147. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  148. 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
  149. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  150. 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
  151. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  152. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  153. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  154. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  155. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  156. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  157. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  158. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  159. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  160. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  161. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  162. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  163. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  164. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  165. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  166. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  167. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  168. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  169. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  170. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  171. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  172. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  173. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  174. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  175. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  176. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  177. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  178. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  179. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  180. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  181. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  182. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  183. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  184. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  185. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  186. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  187. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  188. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  189. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  190. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  191. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  192. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  193. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  194. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  195. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  196. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  197. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  198. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  199. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  200. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  201. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  202. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  203. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  204. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  205. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  206. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  207. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  208. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  209. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  210. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  211. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  212. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  213. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  214. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  215. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  216. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  217. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  218. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  219. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  220. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  221. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  222. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  223. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  224. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  225. build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  226. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  227. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  228. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  229. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  230. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  231. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  232. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  233. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  234. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  235. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  236. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  237. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  238. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  239. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  240. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  241. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  242. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  243. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  244. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  245. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  246. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  247. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  248. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  249. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  250. build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  251. build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  252. build/lib/build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  253. build/lib/build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  254. build/lib/build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  255. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  256. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  257. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  258. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  259. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  260. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  261. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  262. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  263. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  264. build/lib/build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  265. build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  266. build/lib/build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  267. build/lib/build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  268. build/lib/build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  269. build/lib/build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  270. build/lib/build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  271. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  272. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  273. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  274. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  275. build/lib/build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  276. build/lib/build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  277. build/lib/build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  278. build/lib/build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  279. build/lib/build/lib/build/lib/pyntcli/auth/login.py +0 -156
  280. build/lib/build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  281. build/lib/build/lib/build/lib/pyntcli/commands/har.py +0 -67
  282. build/lib/build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  283. build/lib/build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  284. build/lib/build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  285. build/lib/build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  286. build/lib/build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  287. build/lib/build/lib/build/lib/pyntcli/commands/root.py +0 -58
  288. build/lib/build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  289. build/lib/build/lib/build/lib/pyntcli/commands/util.py +0 -71
  290. build/lib/build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  291. build/lib/build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  292. build/lib/build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  293. build/lib/build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  294. build/lib/build/lib/build/lib/pyntcli/store/store.py +0 -58
  295. build/lib/build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  296. build/lib/build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  297. build/lib/build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  298. build/lib/build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  299. build/lib/build/lib/build/lib/pyntcli/ui/report.py +0 -62
  300. build/lib/build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  301. build/lib/build/lib/pyntcli/analytics/__init__.py +0 -0
  302. build/lib/build/lib/pyntcli/analytics/send.py +0 -77
  303. build/lib/build/lib/pyntcli/auth/__init__.py +0 -0
  304. build/lib/build/lib/pyntcli/auth/login.py +0 -156
  305. build/lib/build/lib/pyntcli/commands/__init__.py +0 -0
  306. build/lib/build/lib/pyntcli/commands/har.py +0 -67
  307. build/lib/build/lib/pyntcli/commands/id_command.py +0 -28
  308. build/lib/build/lib/pyntcli/commands/newman.py +0 -77
  309. build/lib/build/lib/pyntcli/commands/postman.py +0 -50
  310. build/lib/build/lib/pyntcli/commands/proxy.py +0 -147
  311. build/lib/build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  312. build/lib/build/lib/pyntcli/commands/root.py +0 -58
  313. build/lib/build/lib/pyntcli/commands/sub_command.py +0 -15
  314. build/lib/build/lib/pyntcli/commands/util.py +0 -71
  315. build/lib/build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  316. build/lib/build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  317. build/lib/build/lib/pyntcli/store/__init__.py +0 -1
  318. build/lib/build/lib/pyntcli/store/json_connector.py +0 -23
  319. build/lib/build/lib/pyntcli/store/store.py +0 -58
  320. build/lib/build/lib/pyntcli/store/store_connector.py +0 -17
  321. build/lib/build/lib/pyntcli/transport/__init__.py +0 -0
  322. build/lib/build/lib/pyntcli/transport/pynt_requests.py +0 -54
  323. build/lib/build/lib/pyntcli/ui/__init__.py +0 -0
  324. build/lib/build/lib/pyntcli/ui/progress.py +0 -39
  325. build/lib/build/lib/pyntcli/ui/pynt_errors.py +0 -7
  326. build/lib/build/lib/pyntcli/ui/report.py +0 -62
  327. build/lib/build/lib/pyntcli/ui/ui_thread.py +0 -172
  328. build/lib/pyntcli/analytics/__init__.py +0 -0
  329. build/lib/pyntcli/analytics/send.py +0 -77
  330. build/lib/pyntcli/auth/__init__.py +0 -0
  331. build/lib/pyntcli/auth/login.py +0 -156
  332. build/lib/pyntcli/commands/__init__.py +0 -0
  333. build/lib/pyntcli/commands/har.py +0 -67
  334. build/lib/pyntcli/commands/id_command.py +0 -28
  335. build/lib/pyntcli/commands/newman.py +0 -77
  336. build/lib/pyntcli/commands/postman.py +0 -50
  337. build/lib/pyntcli/commands/proxy.py +0 -147
  338. build/lib/pyntcli/commands/pynt_cmd.py +0 -73
  339. build/lib/pyntcli/commands/root.py +0 -58
  340. build/lib/pyntcli/commands/sub_command.py +0 -15
  341. build/lib/pyntcli/commands/util.py +0 -71
  342. build/lib/pyntcli/pynt_docker/__init__.py +0 -1
  343. build/lib/pyntcli/pynt_docker/pynt_container.py +0 -218
  344. build/lib/pyntcli/store/__init__.py +0 -1
  345. build/lib/pyntcli/store/json_connector.py +0 -23
  346. build/lib/pyntcli/store/store.py +0 -58
  347. build/lib/pyntcli/store/store_connector.py +0 -17
  348. build/lib/pyntcli/transport/__init__.py +0 -0
  349. build/lib/pyntcli/transport/pynt_requests.py +0 -54
  350. build/lib/pyntcli/ui/__init__.py +0 -0
  351. build/lib/pyntcli/ui/progress.py +0 -39
  352. build/lib/pyntcli/ui/pynt_errors.py +0 -7
  353. build/lib/pyntcli/ui/report.py +0 -62
  354. build/lib/pyntcli/ui/ui_thread.py +0 -172
  355. pyntcli-0.1.46.dist-info/RECORD +0 -349
  356. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/WHEEL +0 -0
  357. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/entry_points.txt +0 -0
  358. {pyntcli-0.1.46.dist-info → pyntcli-0.1.48.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,96 @@
1
+ from urllib.parse import urlparse
2
+ import json
3
+ from _pytest.monkeypatch import monkeypatch
4
+ import pytest
5
+ import requests
6
+ import requests_mock
7
+ import datetime
8
+ import jwt
9
+ import os
10
+ from cryptography.hazmat.primitives.asymmetric import rsa
11
+ from cryptography.hazmat.primitives import serialization
12
+
13
+ from pyntcli.auth.login import Login, Timeout, InvalidTokenInEnvVarsException, is_jwt_expired, should_login, PYNT_CREDENTIALS
14
+ from pyntcli.store import CredStore
15
+
16
+
17
+ class TestLogin():
18
+ @pytest.fixture
19
+ def mock_webbrowser(self, mocker):
20
+ try:
21
+ mocker.patch("webbrowser.open", return_value=None)
22
+ yield
23
+ finally:
24
+ pass
25
+
26
+ def get_request_url_parameters(self, req: requests.PreparedRequest) :
27
+ u = req.url
28
+ parsed_url = urlparse(u)
29
+ return parsed_url.query
30
+
31
+ def poll_matcher(self, request: requests.PreparedRequest):
32
+ assert "request_id" in self.get_request_url_parameters(request)
33
+
34
+ resp = requests.Response()
35
+ self.login_request_cnt += 1
36
+ if self.login_request_cnt < 2:
37
+ resp.status_code = 404
38
+ return resp
39
+
40
+ resp.status_code = 200
41
+ resp._content = json.dumps({"token": "testToken"}).encode()
42
+ return resp
43
+
44
+ def test_login(self, mock_webbrowser, mock_sleep, mock_expanduser):
45
+ l = Login()
46
+ self.login_request_cnt = 0
47
+ with requests_mock.mock() as m:
48
+ m.add_matcher(self.poll_matcher)
49
+ l.login()
50
+
51
+ assert self.login_request_cnt == 2
52
+ c = CredStore()
53
+ assert c.get("token") == {"token": "testToken"}
54
+
55
+ def test_login_timeout(self, mock_webbrowser, mock_sleep, mock_expanduser):
56
+ l = Login()
57
+ l.login_wait_period = 0
58
+ self.login_request_cnt = 0
59
+ with pytest.raises(Timeout):
60
+ with requests_mock.mock() as m:
61
+ m.add_matcher(self.poll_matcher)
62
+ l.get_token_using_request_id("some_id")
63
+
64
+
65
+ def test_is_jwt_expired(self):
66
+
67
+ private_key = rsa.generate_private_key(
68
+ public_exponent=65537,
69
+ key_size=2048
70
+ ).private_bytes(encoding=serialization.Encoding.PEM,
71
+ format=serialization.PrivateFormat.PKCS8,
72
+ encryption_algorithm=serialization.NoEncryption())
73
+
74
+
75
+ token_data = {
76
+ "exp": int((datetime.datetime.now() - datetime.timedelta(days=1)).timestamp())
77
+ }
78
+
79
+ token = jwt.encode(token_data, private_key.decode(), algorithm="RS256").decode("utf-8")
80
+ assert is_jwt_expired(token) == True
81
+
82
+ token_data = {
83
+ "exp": int((datetime.datetime.now() + datetime.timedelta(days=1)).timestamp())
84
+ }
85
+
86
+ token = jwt.encode(token_data, private_key.decode(), algorithm="RS256").decode("utf-8")
87
+ assert is_jwt_expired(token) == False
88
+
89
+ def test_login_using_env_vars(self, mocker, mock_expanduser):
90
+ creds = json.dumps({"token": {"refresh_token": "some data"}})
91
+ mocker.patch.dict(os.environ, {PYNT_CREDENTIALS: creds})
92
+ assert should_login() == False
93
+
94
+ os.environ[PYNT_CREDENTIALS] = "some bad credentials"
95
+ with pytest.raises(InvalidTokenInEnvVarsException):
96
+ should_login()
@@ -0,0 +1,11 @@
1
+ import tempfile
2
+ import shutil
3
+ import pytest
4
+
5
+ from pyntcli.store import CredStore
6
+
7
+ class TestCredStore():
8
+ def test_get_credentials(self, mock_expanduser):
9
+ c = CredStore()
10
+ c.put("data", "value")
11
+ assert c.get("data") == "value"
pyntcli/__init__.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.1.46"
1
+ __version__ = "0.1.48"
pyntcli/auth/login.py CHANGED
@@ -21,6 +21,7 @@ class InvalidTokenInEnvVarsException(LoginException):
21
21
  pass
22
22
 
23
23
  PYNT_CREDENTIALS = "PYNT_CREDENTIALS"
24
+ PYNT_SAAS = "PYNT_SAAS_URL"
24
25
 
25
26
  class Login():
26
27
  def __init__(self) -> None:
@@ -59,6 +60,8 @@ class Login():
59
60
 
60
61
 
61
62
  def refresh_request(refresh_token):
63
+ if os.environ.get(PYNT_SAAS):
64
+ return pynt_requests.post(os.environ[PYNT_SAAS] + "/auth/refresh", json={"refresh_token": refresh_token})
62
65
  return pynt_requests.post("https://auth.pynt.io/default/refresh", json={"refresh_token": refresh_token})
63
66
 
64
67
  def refresh_token():
@@ -32,6 +32,10 @@ class PostmanSubCommand(sub_command.PyntSubCommand):
32
32
  return postman_cmd
33
33
 
34
34
  def run_cmd(self, args: argparse.Namespace):
35
+ if "application_id" in args and args.application_id:
36
+ ui_thread.print("application-id is not supported in postman integration, use the request body in the start scan request")
37
+ args.application_id = ""
38
+
35
39
  container = pynt_container.get_container_with_arguments(args ,pynt_container.PyntDockerPort("5001", args.port, name="--port"))
36
40
 
37
41
  if util.is_port_in_use(args.port):
pyntcli/commands/root.py CHANGED
@@ -37,6 +37,7 @@ class BaseCommand():
37
37
  parser.add_argument("--insecure", default=False, required=False, action='store_true',help="use when target uses self signed certificates")
38
38
  parser.add_argument("--dev-flags", type=str,default="", help=argparse.SUPPRESS)
39
39
  parser.add_argument("--host-ca", type=str, default="")
40
+ parser.add_argument("--application-id", type=str, default="", required=False)
40
41
 
41
42
  def get_subparser(self) -> argparse._SubParsersAction:
42
43
  if self.subparser is None:
@@ -8,7 +8,7 @@ from typing import List
8
8
  from pyntcli.ui import ui_thread
9
9
  from pyntcli.analytics import send as analytics
10
10
  from pyntcli.store import CredStore
11
- from pyntcli.auth.login import PYNT_CREDENTIALS
11
+ from pyntcli.auth.login import PYNT_CREDENTIALS , PYNT_SAAS
12
12
 
13
13
  PYNT_DOCKER_IMAGE = "ghcr.io/pynt-io/pynt"
14
14
 
@@ -67,6 +67,9 @@ def get_container_with_arguments(args: argparse.Namespace , *port_args: PyntDock
67
67
  if "insecure" in args and args.insecure:
68
68
  docker_arguments.append("--insecure")
69
69
 
70
+ if "application_id" in args and args.application_id:
71
+ docker_arguments += ["--application-id",args.application_id]
72
+
70
73
  if "dev_flags" in args:
71
74
  docker_arguments += args.dev_flags.split(" ")
72
75
 
@@ -75,8 +78,13 @@ def get_container_with_arguments(args: argparse.Namespace , *port_args: PyntDock
75
78
  ca_name = os.path.basename(args.host_ca)
76
79
  docker_arguments += ["--host-ca", ca_name]
77
80
  mounts.append(create_mount(os.path.abspath(args.host_ca), "/etc/pynt/{}".format(ca_name)))
81
+
82
+ env = {PYNT_CREDENTIALS:CredStore().get_access_token()}
83
+
84
+ if os.environ.get(PYNT_SAAS):
85
+ env.update({PYNT_SAAS: os.environ[PYNT_SAAS]})
78
86
 
79
- return PyntBaseConatiner(docker_type, docker_arguments, mounts, {PYNT_CREDENTIALS:CredStore().get_access_token()})
87
+ return PyntBaseConatiner(docker_type, docker_arguments, mounts, env)
80
88
 
81
89
  def _container_image_from_tag(tag: str) -> str:
82
90
  if ":" in tag:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyntcli
3
- Version: 0.1.46
3
+ Version: 0.1.48
4
4
  Summary: Command line utility to handle all of Pynt's different integrations
5
5
  Author-email: Pynt-io <support@pynt.io>
6
6
  Project-URL: Homepage, https://pynt.io
@@ -0,0 +1,127 @@
1
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
2
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
3
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
4
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
5
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
6
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
7
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
8
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
9
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
10
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
11
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
12
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
13
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
14
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
15
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
16
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
17
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
18
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
19
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
20
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
21
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
22
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
23
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
24
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
25
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
26
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
27
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
28
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
29
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
30
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
31
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
32
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
33
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
34
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
35
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
36
+ 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,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
37
+ 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,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
38
+ 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,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
39
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
40
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
41
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
42
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
43
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
44
+ 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,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
45
+ 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,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
46
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
47
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
48
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
49
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
50
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
51
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
52
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
53
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
54
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
55
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
56
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
57
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
58
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
59
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
60
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
61
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
62
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
63
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
64
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
65
+ build/lib/build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
66
+ build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
67
+ build/lib/build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
68
+ build/lib/build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
69
+ build/lib/build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
70
+ build/lib/build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
71
+ build/lib/build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
72
+ build/lib/build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
73
+ build/lib/build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
74
+ build/lib/build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
75
+ build/lib/build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
76
+ build/lib/build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
77
+ build/lib/build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
78
+ build/lib/build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
79
+ build/lib/build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
80
+ build/lib/build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
81
+ build/lib/build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
82
+ build/lib/build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
83
+ build/lib/build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
84
+ build/lib/build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
85
+ build/lib/build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
86
+ build/lib/pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
87
+ build/lib/pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
88
+ build/lib/tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
89
+ build/lib/tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
90
+ build/lib/tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
91
+ pyntcli/__init__.py,sha256=HQG3McjdVzmICa25LtGfE6oXxlwg6YdEcj9EoChMH00,23
92
+ pyntcli/main.py,sha256=w5QcGekOs4JtIawb39vrwZBCcMRkA1RZGPKOQFByhYc,3449
93
+ pyntcli/analytics/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
94
+ pyntcli/analytics/send.py,sha256=hHoMorH3bmY0oXHDQac1JJAAN05BjDHaY7p0WmKg4Z4,2095
95
+ pyntcli/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
96
+ pyntcli/auth/login.py,sha256=kUDrmnKyfhiGgRgwZoNrmla5v4ELBCr7lFyEkSP5IGE,4918
97
+ pyntcli/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
98
+ pyntcli/commands/har.py,sha256=s5TUw9JVhINRa1kaU6d784u6k_UAMcYu8ZzLk9W6JG4,2935
99
+ pyntcli/commands/id_command.py,sha256=2J5oEa39uyBMMSCRHzuKh3_11CeUEYi7YLoBk1yuu_I,942
100
+ pyntcli/commands/newman.py,sha256=s38qQWdWXLA0sRqxhhxKStdUi5BnUFPo4mn9K5E-TJg,3888
101
+ pyntcli/commands/postman.py,sha256=FPvgNNAmm6KsSo5duSy3TtuyvsgQt4ozS6IBQeUSes0,2523
102
+ pyntcli/commands/proxy.py,sha256=c1rsH6LaNyUFa_f5pzLOOmbHYUb2fQKnBW6hruE8cEw,7348
103
+ pyntcli/commands/pynt_cmd.py,sha256=JjOHrJs5S9iPtg272zBr04e7uKsO0IdSLaA5wpSg888,2406
104
+ pyntcli/commands/root.py,sha256=n0v8LhlKJcuzr4r1aRhHLlpe9aLngUH0gquItaTnkMQ,2252
105
+ pyntcli/commands/sub_command.py,sha256=POEBodnU8vdfPRtagFG83QVbxvnVN4LIJov-mNi1jkw,375
106
+ pyntcli/commands/util.py,sha256=jPNj76LrLi-eF6a_g6FcT2pPnRIaqm41UGgnd43tZcc,2290
107
+ pyntcli/pynt_docker/__init__.py,sha256=PQIOVxc7XXtMLfEX7ojgwf_Z3mmTllO3ZvzUZTPOxQY,30
108
+ pyntcli/pynt_docker/pynt_container.py,sha256=rpyIOL6PPxUeOdcnVmT1k12Ug-FL9AZh1TZT8W41Oxk,7314
109
+ pyntcli/store/__init__.py,sha256=xuS9OB21F6B1sUx5XPGxz_6WpG6-KTMbuq50RrZS5OY,29
110
+ pyntcli/store/json_connector.py,sha256=UGs3uORw3iyn0YJ8kzab-veEZToA6d-ByXYuqEleWsA,560
111
+ pyntcli/store/store.py,sha256=Fbc7yxjht0EJ89eGF8eMgNQJ3sgYRTPmj2-sWQ5UUPs,1766
112
+ pyntcli/store/store_connector.py,sha256=w4LzcpRZesUZL1f63RmLlWEFRtJ6Y6rcS6PkkGtO4MA,357
113
+ pyntcli/transport/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
+ pyntcli/transport/pynt_requests.py,sha256=a9siz45X1RESKCWoVDe1tnhzn0vjVdYd_25KIxQO4h0,1316
115
+ pyntcli/ui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
+ pyntcli/ui/progress.py,sha256=RrnO_jJNunoyupylakmWmHOEPw3lh99OHpKBzL6OBiE,1008
117
+ pyntcli/ui/pynt_errors.py,sha256=UAr8OV5EM4zLhfWSmK_qss8nal2Ezo66Dk8ZMvR_RTs,546
118
+ pyntcli/ui/report.py,sha256=W-icPSZrGLOubXgam0LpOvHLl_aZg9Zx9qIkL8Ym5PE,1930
119
+ pyntcli/ui/ui_thread.py,sha256=JAonXc6aOFawaEixghclxHSCHZBieEWfZzsPef_ZNMI,4796
120
+ tests/conftest.py,sha256=gToq5K74GtgeGQXjFvXSzMaE6axBYxAzcFG5XJPOXjI,427
121
+ tests/auth/test_login.py,sha256=M6JRFTQRZrL6M2-iph_r-aBSQMMiFDncQbVYeObBFYU,3296
122
+ tests/store/test_cred_store.py,sha256=_7-917EtNC9eKEumO2_lt-7KuDmCwOZFaowCm7DbA_A,254
123
+ pyntcli-0.1.48.dist-info/METADATA,sha256=yORrSXym4eTkzcpam7h_OVezGlE41NnjWxMXe8va6yY,365
124
+ pyntcli-0.1.48.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
125
+ pyntcli-0.1.48.dist-info/entry_points.txt,sha256=kcGmqAxXDttNk2EPRcqunc_LTVp61gzakz0v-GEE2SY,43
126
+ pyntcli-0.1.48.dist-info/top_level.txt,sha256=cfPl5WA9Rf7lwTBVIVy_tX9tJ2H9TFVYd_4L9cSUcXQ,36
127
+ pyntcli-0.1.48.dist-info/RECORD,,
@@ -1,77 +0,0 @@
1
- import requests
2
- import time
3
- import platform
4
-
5
- from pyntcli import __version__
6
- from pyntcli.transport import pynt_requests
7
-
8
-
9
- PYNT_DEFAULT_USER_ID = "d9e3b82b-2900-43bf-8c8f-7ffe2f0cda36"
10
- MIXPANEL_TOKEN = "05c26edb86084bbbb803eed6818cd8aa"
11
- MIXPANEL_URL = "https://api-eu.mixpanel.com/track?ip=1"
12
-
13
- def stop():
14
- if not AnalyticsSender._instance:
15
- return
16
- AnalyticsSender.instance().done()
17
-
18
- def emit(event, properties=None):
19
- AnalyticsSender.instance().emit(event, properties)
20
-
21
- def set_user_id(user_id):
22
- AnalyticsSender.instance().set_user_id(user_id)
23
-
24
- CLI_START = "cli_start"
25
- LOGIN_START = "cli_login_start"
26
- LOGIN_DONE = "cli_login_done"
27
- ERROR = "error"
28
-
29
- class AnalyticsSender():
30
- _instance = None
31
-
32
- def __init__(self, user_id=PYNT_DEFAULT_USER_ID) -> None:
33
- self.user_id = user_id
34
- self.version = __version__
35
- self.events = []
36
-
37
- @staticmethod
38
- def instance():
39
- if not AnalyticsSender._instance:
40
- AnalyticsSender._instance = AnalyticsSender()
41
-
42
- return AnalyticsSender._instance
43
-
44
- def base_event(self, event_type):
45
- return {
46
- "event": event_type,
47
- "properties": {
48
- "time": time.time(),
49
- "distinct_id": self.user_id,
50
- "$os": platform.platform(),
51
- "cli_version": self.version,
52
- "token": MIXPANEL_TOKEN
53
- }
54
- }
55
-
56
- def emit(self, event, properties):
57
- base_event = self.base_event(event)
58
-
59
- if properties:
60
- for k,v in properties.items():
61
- base_event["properties"][k] = v
62
-
63
- if self.user_id != PYNT_DEFAULT_USER_ID:
64
- pynt_requests.post(MIXPANEL_URL, json=[base_event])
65
- else:
66
- self.events.append(base_event)
67
-
68
- def set_user_id(self, user_id):
69
- self.user_id = user_id
70
- for i, _ in enumerate(self.events):
71
- self.events[i]["properties"]["distinct_id"] = user_id
72
- self.done()
73
-
74
- def done(self):
75
- if self.events:
76
- pynt_requests.post(MIXPANEL_URL, json=self.events)
77
- self.events = []
@@ -1,156 +0,0 @@
1
- from base64 import b64decode
2
- import webbrowser
3
- import uuid
4
- import urllib.parse
5
- import datetime
6
- import time
7
- import json
8
- import os
9
-
10
- from pyntcli.ui import ui_thread
11
- from pyntcli.store import CredStore
12
- from pyntcli.transport import pynt_requests
13
-
14
- class LoginException(Exception):
15
- pass
16
-
17
- class Timeout(LoginException):
18
- pass
19
-
20
- class InvalidTokenInEnvVarsException(LoginException):
21
- pass
22
-
23
- PYNT_CREDENTIALS = "PYNT_CREDENTIALS"
24
-
25
- class Login():
26
- def __init__(self) -> None:
27
- self.delay = 5
28
- self.base_authorization_url = "https://pynt.io/login?"
29
- self.poll_url = "https://n592meacjj.execute-api.us-east-1.amazonaws.com/default/cli_validate_login"
30
- self.login_wait_period = (60 *3) #3 minutes
31
-
32
- def create_login_request(self):
33
- request_id = uuid.uuid4()
34
- request_url = self.base_authorization_url + urllib.parse.urlencode({"request_id": request_id, "utm_source": "cli"})
35
- webbrowser.open(request_url)
36
-
37
- ui_thread.print(ui_thread.PrinterText("To continue, you need to log in to your account.")\
38
- .with_line("You will now be redirected to the login page.") \
39
- .with_line("") \
40
- .with_line("If you are not automatically redirected, please click on the link provided below (or copy to your web browser)") \
41
- .with_line(request_url))
42
- return request_id
43
-
44
- def get_token_using_request_id(self, request_id):
45
- with ui_thread.spinner("Waiting...", "point"):
46
- start = time.time()
47
- while start + self.login_wait_period > time.time():
48
- response = pynt_requests.get(self.poll_url, params={"request_id": request_id})
49
- if response.status_code == 200:
50
- return response.json()
51
- time.sleep(self.delay)
52
- raise Timeout()
53
-
54
- def login(self):
55
- id = self.create_login_request()
56
- token = self.get_token_using_request_id(id)
57
- with CredStore() as store:
58
- store.put("token", token)
59
-
60
-
61
- def refresh_request(refresh_token):
62
- return pynt_requests.post("https://auth.pynt.io/default/refresh", json={"refresh_token": refresh_token})
63
-
64
- def refresh_token():
65
- token = None
66
- with CredStore() as store:
67
- token = store.get("token")
68
-
69
- if not token:
70
- Login().login()
71
-
72
- access_token = token.get("access_token")
73
- if access_token and not is_jwt_expired(access_token):
74
- return
75
-
76
- refresh = token.get("refresh_token", None)
77
- if not refresh:
78
- Login().login()
79
- return
80
-
81
- refresh_response = refresh_request(refresh)
82
- if refresh_response.status_code != 200:
83
- Login().login()
84
- return
85
-
86
- with CredStore() as store:
87
- token["access_token"] = refresh_response.json()["token"]
88
- store.put("token", token)
89
-
90
- def decode_jwt(jwt_token):
91
- splited = jwt_token.split(".")
92
- if len(splited) != 3:
93
- return None
94
-
95
- return json.loads(b64decode(splited[1] + '=' * (-len(splited[1]) % 4)))
96
-
97
- def user_id():
98
- with CredStore() as store:
99
- token = store.get("token")
100
- if not token:
101
- return None
102
-
103
- decoded = decode_jwt(token["access_token"])
104
- if not decoded:
105
- return None
106
-
107
- return decoded.get("sub", None)
108
-
109
- return None
110
-
111
- def is_jwt_expired(jwt_token):
112
- decoded = decode_jwt(jwt_token)
113
- if not decoded:
114
- return True
115
-
116
- exp = decoded.get("exp", None)
117
- if not exp:
118
- return True
119
-
120
- return datetime.datetime.fromtimestamp(exp) < datetime.datetime.now() + datetime.timedelta(minutes=1)
121
-
122
- def validate_creds_structure(data):
123
- try:
124
- creds = json.loads(data.replace("\n", ""))
125
- token = creds.get("token", None)
126
- if not token:
127
- raise InvalidTokenInEnvVarsException()
128
- if not isinstance(token, dict):
129
- raise InvalidTokenInEnvVarsException()
130
-
131
- refresh_token = token.get("refresh_token", None)
132
- if not refresh_token:
133
- raise InvalidTokenInEnvVarsException()
134
-
135
- return token
136
- except json.JSONDecodeError:
137
- raise InvalidTokenInEnvVarsException()
138
-
139
-
140
- def should_login():
141
- env_creds = os.environ.get(PYNT_CREDENTIALS, None)
142
- if env_creds:
143
- validated_creds = validate_creds_structure(env_creds)
144
- with CredStore() as store:
145
- store.put("token", validated_creds)
146
-
147
- with CredStore() as store:
148
- token = store.get("token")
149
-
150
- if not token or token == store.connector.default_value:
151
- return True
152
-
153
- if not token.get("refresh_token"):
154
- return True
155
-
156
- return False