secator 0.10.1a9__tar.gz → 0.10.1a11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of secator might be problematic. Click here for more details.

Files changed (190) hide show
  1. {secator-0.10.1a9 → secator-0.10.1a11}/PKG-INFO +1 -1
  2. {secator-0.10.1a9 → secator-0.10.1a11}/pyproject.toml +1 -1
  3. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/command.py +3 -4
  4. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/task.py +2 -1
  5. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/workflow.py +1 -0
  6. {secator-0.10.1a9 → secator-0.10.1a11}/secator/utils.py +2 -0
  7. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_runners.py +1 -1
  8. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.alpine +0 -0
  9. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.arch +0 -0
  10. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.debian +0 -0
  11. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.kali +0 -0
  12. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.osx +0 -0
  13. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/Dockerfile.ubuntu +0 -0
  14. {secator-0.10.1a9 → secator-0.10.1a11}/.docker/build_all.sh +0 -0
  15. {secator-0.10.1a9 → secator-0.10.1a11}/.dockerignore +0 -0
  16. {secator-0.10.1a9 → secator-0.10.1a11}/.flake8 +0 -0
  17. {secator-0.10.1a9 → secator-0.10.1a11}/.gitignore +0 -0
  18. {secator-0.10.1a9 → secator-0.10.1a11}/CHANGELOG.md +0 -0
  19. {secator-0.10.1a9 → secator-0.10.1a11}/CONTRIBUTING.md +0 -0
  20. {secator-0.10.1a9 → secator-0.10.1a11}/Dockerfile +0 -0
  21. {secator-0.10.1a9 → secator-0.10.1a11}/LICENSE +0 -0
  22. {secator-0.10.1a9 → secator-0.10.1a11}/README.md +0 -0
  23. {secator-0.10.1a9 → secator-0.10.1a11}/SECURITY.md +0 -0
  24. {secator-0.10.1a9 → secator-0.10.1a11}/cloudbuild.yaml +0 -0
  25. {secator-0.10.1a9 → secator-0.10.1a11}/helm/.helmignore +0 -0
  26. {secator-0.10.1a9 → secator-0.10.1a11}/helm/Chart.yaml +0 -0
  27. {secator-0.10.1a9 → secator-0.10.1a11}/helm/templates/redis-service.yaml +0 -0
  28. {secator-0.10.1a9 → secator-0.10.1a11}/helm/templates/redis.yaml +0 -0
  29. {secator-0.10.1a9 → secator-0.10.1a11}/helm/templates/secator-manager.yaml +0 -0
  30. {secator-0.10.1a9 → secator-0.10.1a11}/helm/templates/secator-worker.yaml +0 -0
  31. {secator-0.10.1a9 → secator-0.10.1a11}/helm/values.yaml +0 -0
  32. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/download_cves.sh +0 -0
  33. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/install.sh +0 -0
  34. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/install_asciinema.sh +0 -0
  35. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/install_go.sh +0 -0
  36. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/install_ruby.sh +0 -0
  37. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/msf/exploit_cve.rc +0 -0
  38. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/msf/ftp_anonymous.rc +0 -0
  39. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/msf/ftp_version.rc +0 -0
  40. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/msf/ftp_vsftpd_234_backdoor.rc +0 -0
  41. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/msf/redis.rc +0 -0
  42. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/STORY.md +0 -0
  43. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/aliases.sh +0 -0
  44. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/demo.sh +0 -0
  45. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/fmt.sh +0 -0
  46. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/input.sh +0 -0
  47. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/pipe.sh +0 -0
  48. {secator-0.10.1a9 → secator-0.10.1a11}/scripts/stories/short_demo.sh +0 -0
  49. {secator-0.10.1a9 → secator-0.10.1a11}/secator/.gitignore +0 -0
  50. {secator-0.10.1a9 → secator-0.10.1a11}/secator/__init__.py +0 -0
  51. {secator-0.10.1a9 → secator-0.10.1a11}/secator/celery.py +0 -0
  52. {secator-0.10.1a9 → secator-0.10.1a11}/secator/celery_signals.py +0 -0
  53. {secator-0.10.1a9 → secator-0.10.1a11}/secator/celery_utils.py +0 -0
  54. {secator-0.10.1a9 → secator-0.10.1a11}/secator/cli.py +0 -0
  55. {secator-0.10.1a9 → secator-0.10.1a11}/secator/config.py +0 -0
  56. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/__init__.py +0 -0
  57. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/profiles/__init__.py +0 -0
  58. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/profiles/aggressive.yaml +0 -0
  59. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/profiles/default.yaml +0 -0
  60. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/profiles/stealth.yaml +0 -0
  61. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/__init__.py +0 -0
  62. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/domain.yaml +0 -0
  63. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/host.yaml +0 -0
  64. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/network.yaml +0 -0
  65. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/subdomain.yaml +0 -0
  66. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/scans/url.yaml +0 -0
  67. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/__init__.py +0 -0
  68. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/cidr_recon.yaml +0 -0
  69. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/code_scan.yaml +0 -0
  70. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/host_recon.yaml +0 -0
  71. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/subdomain_recon.yaml +0 -0
  72. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_bypass.yaml +0 -0
  73. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_crawl.yaml +0 -0
  74. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_dirsearch.yaml +0 -0
  75. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_fuzz.yaml +0 -0
  76. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_nuclei.yaml +0 -0
  77. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/url_vuln.yaml +0 -0
  78. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/user_hunt.yaml +0 -0
  79. {secator-0.10.1a9 → secator-0.10.1a11}/secator/configs/workflows/wordpress.yaml +0 -0
  80. {secator-0.10.1a9 → secator-0.10.1a11}/secator/decorators.py +0 -0
  81. {secator-0.10.1a9 → secator-0.10.1a11}/secator/definitions.py +0 -0
  82. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/__init__.py +0 -0
  83. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/_base.py +0 -0
  84. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/console.py +0 -0
  85. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/csv.py +0 -0
  86. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/gdrive.py +0 -0
  87. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/json.py +0 -0
  88. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/table.py +0 -0
  89. {secator-0.10.1a9 → secator-0.10.1a11}/secator/exporters/txt.py +0 -0
  90. {secator-0.10.1a9 → secator-0.10.1a11}/secator/hooks/__init__.py +0 -0
  91. {secator-0.10.1a9 → secator-0.10.1a11}/secator/hooks/gcs.py +0 -0
  92. {secator-0.10.1a9 → secator-0.10.1a11}/secator/hooks/mongodb.py +0 -0
  93. {secator-0.10.1a9 → secator-0.10.1a11}/secator/installer.py +0 -0
  94. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/__init__.py +0 -0
  95. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/_base.py +0 -0
  96. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/error.py +0 -0
  97. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/exploit.py +0 -0
  98. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/info.py +0 -0
  99. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/ip.py +0 -0
  100. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/port.py +0 -0
  101. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/progress.py +0 -0
  102. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/record.py +0 -0
  103. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/stat.py +0 -0
  104. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/state.py +0 -0
  105. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/subdomain.py +0 -0
  106. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/tag.py +0 -0
  107. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/target.py +0 -0
  108. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/url.py +0 -0
  109. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/user_account.py +0 -0
  110. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/vulnerability.py +0 -0
  111. {secator-0.10.1a9 → secator-0.10.1a11}/secator/output_types/warning.py +0 -0
  112. {secator-0.10.1a9 → secator-0.10.1a11}/secator/report.py +0 -0
  113. {secator-0.10.1a9 → secator-0.10.1a11}/secator/rich.py +0 -0
  114. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/__init__.py +0 -0
  115. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/_base.py +0 -0
  116. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/_helpers.py +0 -0
  117. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/celery.py +0 -0
  118. {secator-0.10.1a9 → secator-0.10.1a11}/secator/runners/scan.py +0 -0
  119. {secator-0.10.1a9 → secator-0.10.1a11}/secator/scans/__init__.py +0 -0
  120. {secator-0.10.1a9 → secator-0.10.1a11}/secator/serializers/__init__.py +0 -0
  121. {secator-0.10.1a9 → secator-0.10.1a11}/secator/serializers/dataclass.py +0 -0
  122. {secator-0.10.1a9 → secator-0.10.1a11}/secator/serializers/json.py +0 -0
  123. {secator-0.10.1a9 → secator-0.10.1a11}/secator/serializers/regex.py +0 -0
  124. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/__init__.py +0 -0
  125. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/_categories.py +0 -0
  126. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/bbot.py +0 -0
  127. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/bup.py +0 -0
  128. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/cariddi.py +0 -0
  129. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/dalfox.py +0 -0
  130. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/dirsearch.py +0 -0
  131. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/dnsx.py +0 -0
  132. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/dnsxbrute.py +0 -0
  133. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/feroxbuster.py +0 -0
  134. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/ffuf.py +0 -0
  135. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/fping.py +0 -0
  136. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/gau.py +0 -0
  137. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/gf.py +0 -0
  138. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/gospider.py +0 -0
  139. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/grype.py +0 -0
  140. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/h8mail.py +0 -0
  141. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/httpx.py +0 -0
  142. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/katana.py +0 -0
  143. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/maigret.py +0 -0
  144. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/mapcidr.py +0 -0
  145. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/msfconsole.py +0 -0
  146. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/naabu.py +0 -0
  147. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/nmap.py +0 -0
  148. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/nuclei.py +0 -0
  149. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/searchsploit.py +0 -0
  150. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/subfinder.py +0 -0
  151. {secator-0.10.1a9 → secator-0.10.1a11}/secator/tasks/wpscan.py +0 -0
  152. {secator-0.10.1a9 → secator-0.10.1a11}/secator/template.py +0 -0
  153. {secator-0.10.1a9 → secator-0.10.1a11}/secator/thread.py +0 -0
  154. {secator-0.10.1a9 → secator-0.10.1a11}/secator/utils_test.py +0 -0
  155. {secator-0.10.1a9 → secator-0.10.1a11}/secator/workflows/__init__.py +0 -0
  156. {secator-0.10.1a9 → secator-0.10.1a11}/tests/__init__.py +0 -0
  157. {secator-0.10.1a9 → secator-0.10.1a11}/tests/fixtures/h8mail_breach.txt +0 -0
  158. {secator-0.10.1a9 → secator-0.10.1a11}/tests/fixtures/ls.py +0 -0
  159. {secator-0.10.1a9 → secator-0.10.1a11}/tests/fixtures/msfconsole_input.rc +0 -0
  160. {secator-0.10.1a9 → secator-0.10.1a11}/tests/fixtures/nmap_output.xml +0 -0
  161. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/__init__.py +0 -0
  162. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/inputs.py +0 -0
  163. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/outputs.py +0 -0
  164. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/setup.sh +0 -0
  165. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/teardown.sh +0 -0
  166. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_addons.py +0 -0
  167. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_celery.py +0 -0
  168. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_scans.py +0 -0
  169. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_tasks.py +0 -0
  170. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_tasks_categories.py +0 -0
  171. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_worker.py +0 -0
  172. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/test_workflows.py +0 -0
  173. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/wordlist.txt +0 -0
  174. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/wordlist_dns.txt +0 -0
  175. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/wordpress_toolbox/Dockerfile +0 -0
  176. {secator-0.10.1a9 → secator-0.10.1a11}/tests/integration/wordpress_toolbox/Makefile +0 -0
  177. {secator-0.10.1a9 → secator-0.10.1a11}/tests/performance/__init__.py +0 -0
  178. {secator-0.10.1a9 → secator-0.10.1a11}/tests/performance/loadtester.py +0 -0
  179. {secator-0.10.1a9 → secator-0.10.1a11}/tests/performance/test_worker.py +0 -0
  180. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/__init__.py +0 -0
  181. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_celery.py +0 -0
  182. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_cli.py +0 -0
  183. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_config.py +0 -0
  184. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_offline.py +0 -0
  185. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_scans.py +0 -0
  186. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_serializers.py +0 -0
  187. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_tasks.py +0 -0
  188. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_tasks_categories.py +0 -0
  189. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_template.py +0 -0
  190. {secator-0.10.1a9 → secator-0.10.1a11}/tests/unit/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: secator
3
- Version: 0.10.1a9
3
+ Version: 0.10.1a11
4
4
  Summary: The pentester's swiss knife.
5
5
  Project-URL: Homepage, https://github.com/freelabz/secator
6
6
  Project-URL: Issues, https://github.com/freelabz/secator/issues
@@ -4,7 +4,7 @@ build-backend = 'hatchling.build'
4
4
 
5
5
  [project]
6
6
  name = 'secator'
7
- version = "0.10.1a9"
7
+ version = "0.10.1a11"
8
8
  authors = [{ name = 'FreeLabz', email = 'sales@freelabz.com' }]
9
9
  readme = 'README.md'
10
10
  description = "The pentester's swiss knife."
@@ -488,9 +488,8 @@ class Command(Runner):
488
488
 
489
489
  def print_description(self):
490
490
  """Print description"""
491
- if self.sync and not self.has_children:
492
- if self.caller and self.description:
493
- self._print(f'\n[bold gold3]:wrench: {self.description} [dim cyan]({self.config.name})[/][/] ...', rich=True)
491
+ if self.sync and not self.has_children and self.caller and self.description:
492
+ self._print(f'\n[bold gold3]:wrench: {self.description} [dim cyan]({self.config.name})[/][/] ...', rich=True)
494
493
 
495
494
  def print_command(self):
496
495
  """Print command."""
@@ -756,7 +755,7 @@ class Command(Runner):
756
755
 
757
756
  @staticmethod
758
757
  def _validate_chunked_input(self, inputs):
759
- """Command does not suport multiple inputs in non-worker mode. Consider using .delay() instead."""
758
+ """Command does not suport multiple inputs in non-worker mode. Consider running with a remote worker instead."""
760
759
  if len(inputs) > 1 and self.sync and self.file_flag is None:
761
760
  return False
762
761
  return True
@@ -47,9 +47,10 @@ class Task(Runner):
47
47
  opts['context'] = self.context.copy()
48
48
  opts['reports_folder'] = str(self.reports_folder)
49
49
  opts['enable_reports'] = False # Task will handle reports
50
- opts['enable_duplicate_check'] = False # Task will handle duplicate check
50
+ opts['enable_duplicate_check'] = False # Task will handle duplicate check
51
51
  opts['has_parent'] = False
52
52
  opts['skip_if_no_inputs'] = False
53
+ opts['caller'] = 'Task'
53
54
 
54
55
  # Create task signature
55
56
  task_id = str(uuid.uuid4())
@@ -47,6 +47,7 @@ class Workflow(Runner):
47
47
  opts['enable_duplicate_check'] = False # Workflow will handle duplicate check
48
48
  opts['has_parent'] = True
49
49
  opts['skip_if_no_inputs'] = True
50
+ opts['caller'] = 'Workflow'
50
51
 
51
52
  # Build task signatures
52
53
  sigs = self.get_tasks(
@@ -640,6 +640,8 @@ def should_update(update_frequency, last_updated=None, timestamp=None):
640
640
  """
641
641
  if not timestamp:
642
642
  timestamp = time()
643
+ if update_frequency == -1:
644
+ return False
643
645
  if last_updated and (timestamp - last_updated) < update_frequency:
644
646
  return False
645
647
  return True
@@ -192,7 +192,7 @@ class TestCommandRunner(unittest.TestCase):
192
192
  cmd.run()
193
193
  errors = cmd.errors
194
194
  messages = [e.message for e in errors]
195
- self.assertIn("Validator failed: Command does not suport multiple inputs in non-worker mode. Consider using .delay() instead.", messages)
195
+ self.assertIn("Validator failed: Command does not suport multiple inputs in non-worker mode. Consider running with a remote worker instead.", messages)
196
196
  self.assertEqual(len(cmd.results), 1)
197
197
  self.assertFalse(cmd.inputs_valid)
198
198
  self.assertEqual(cmd.status, 'FAILURE')
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes