qasight 1.6.0__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.
Files changed (593) hide show
  1. qasight-1.6.0/.gitignore +86 -0
  2. qasight-1.6.0/CHANGELOG.md +551 -0
  3. qasight-1.6.0/LICENSE +21 -0
  4. qasight-1.6.0/PKG-INFO +475 -0
  5. qasight-1.6.0/README.md +376 -0
  6. qasight-1.6.0/pyproject.toml +297 -0
  7. qasight-1.6.0/pytest.ini +29 -0
  8. qasight-1.6.0/qasight/__init__.py +83 -0
  9. qasight-1.6.0/qasight/accounts.py +272 -0
  10. qasight-1.6.0/qasight/cli/__init__.py +5 -0
  11. qasight-1.6.0/qasight/cli/app.py +359 -0
  12. qasight-1.6.0/qasight/cli/cleanup.py +68 -0
  13. qasight-1.6.0/qasight/cli/commands/__init__.py +6 -0
  14. qasight-1.6.0/qasight/cli/commands/affected.py +114 -0
  15. qasight-1.6.0/qasight/cli/commands/ai.py +123 -0
  16. qasight-1.6.0/qasight/cli/commands/backup.py +86 -0
  17. qasight-1.6.0/qasight/cli/commands/badge.py +47 -0
  18. qasight-1.6.0/qasight/cli/commands/clean.py +264 -0
  19. qasight-1.6.0/qasight/cli/commands/config.py +147 -0
  20. qasight-1.6.0/qasight/cli/commands/config_db.py +137 -0
  21. qasight-1.6.0/qasight/cli/commands/demo.py +209 -0
  22. qasight-1.6.0/qasight/cli/commands/diff_cli.py +112 -0
  23. qasight-1.6.0/qasight/cli/commands/doctor.py +221 -0
  24. qasight-1.6.0/qasight/cli/commands/export_cmd.py +65 -0
  25. qasight-1.6.0/qasight/cli/commands/export_site.py +83 -0
  26. qasight-1.6.0/qasight/cli/commands/flaky.py +165 -0
  27. qasight-1.6.0/qasight/cli/commands/ingest.py +169 -0
  28. qasight-1.6.0/qasight/cli/commands/init_cmd.py +499 -0
  29. qasight-1.6.0/qasight/cli/commands/issues.py +76 -0
  30. qasight-1.6.0/qasight/cli/commands/lease.py +436 -0
  31. qasight-1.6.0/qasight/cli/commands/mcp_cmd.py +133 -0
  32. qasight-1.6.0/qasight/cli/commands/notify.py +244 -0
  33. qasight-1.6.0/qasight/cli/commands/otel.py +50 -0
  34. qasight-1.6.0/qasight/cli/commands/plans.py +92 -0
  35. qasight-1.6.0/qasight/cli/commands/plugins.py +112 -0
  36. qasight-1.6.0/qasight/cli/commands/pool.py +353 -0
  37. qasight-1.6.0/qasight/cli/commands/quarantine.py +212 -0
  38. qasight-1.6.0/qasight/cli/commands/report.py +410 -0
  39. qasight-1.6.0/qasight/cli/commands/report_archive.py +172 -0
  40. qasight-1.6.0/qasight/cli/commands/run.py +160 -0
  41. qasight-1.6.0/qasight/cli/commands/server_cmd.py +58 -0
  42. qasight-1.6.0/qasight/cli/commands/split.py +158 -0
  43. qasight-1.6.0/qasight/cli/commands/try_cmd.py +239 -0
  44. qasight-1.6.0/qasight/cli/commands/ui_cmd.py +156 -0
  45. qasight-1.6.0/qasight/cli/commands/users.py +150 -0
  46. qasight-1.6.0/qasight/cli/commands/version.py +18 -0
  47. qasight-1.6.0/qasight/cli/commands/watch.py +135 -0
  48. qasight-1.6.0/qasight/cli/cycle_hint.py +30 -0
  49. qasight-1.6.0/qasight/cli/missing_module.py +60 -0
  50. qasight-1.6.0/qasight/cli/runner.py +462 -0
  51. qasight-1.6.0/qasight/cli/server_url.py +23 -0
  52. qasight-1.6.0/qasight/cli/ui/__init__.py +5 -0
  53. qasight-1.6.0/qasight/cli/ui/ci_renderer.py +19 -0
  54. qasight-1.6.0/qasight/cli/ui/console.py +65 -0
  55. qasight-1.6.0/qasight/cli/ui/panels.py +152 -0
  56. qasight-1.6.0/qasight/cli/ui/progress.py +29 -0
  57. qasight-1.6.0/qasight/cli/ui/renderers.py +187 -0
  58. qasight-1.6.0/qasight/cli/ui/summary_dashboard.py +345 -0
  59. qasight-1.6.0/qasight/config/__init__.py +29 -0
  60. qasight-1.6.0/qasight/config/affected.py +122 -0
  61. qasight-1.6.0/qasight/config/database_section.py +161 -0
  62. qasight-1.6.0/qasight/config/errors.py +38 -0
  63. qasight-1.6.0/qasight/config/history_section.py +157 -0
  64. qasight-1.6.0/qasight/config/if_expr.py +69 -0
  65. qasight-1.6.0/qasight/config/json_schema.py +462 -0
  66. qasight-1.6.0/qasight/config/loader.py +269 -0
  67. qasight-1.6.0/qasight/config/resolver.py +89 -0
  68. qasight-1.6.0/qasight/config/schema.py +178 -0
  69. qasight-1.6.0/qasight/config/sections.py +463 -0
  70. qasight-1.6.0/qasight/config/triggers.py +294 -0
  71. qasight-1.6.0/qasight/config/unknown_keys.py +97 -0
  72. qasight-1.6.0/qasight/engine/__init__.py +30 -0
  73. qasight-1.6.0/qasight/engine/backends/__init__.py +128 -0
  74. qasight-1.6.0/qasight/engine/backends/container.py +194 -0
  75. qasight-1.6.0/qasight/engine/backends/runner_service.py +502 -0
  76. qasight-1.6.0/qasight/engine/crash_signatures.py +230 -0
  77. qasight-1.6.0/qasight/engine/cycle_lock.py +197 -0
  78. qasight-1.6.0/qasight/engine/events.py +46 -0
  79. qasight-1.6.0/qasight/engine/executor.py +638 -0
  80. qasight-1.6.0/qasight/engine/exit_codes.py +48 -0
  81. qasight-1.6.0/qasight/engine/interrupt.py +188 -0
  82. qasight-1.6.0/qasight/engine/log_buffer.py +151 -0
  83. qasight-1.6.0/qasight/engine/orchestrator.py +459 -0
  84. qasight-1.6.0/qasight/engine/quarantine.py +81 -0
  85. qasight-1.6.0/qasight/engine/result.py +61 -0
  86. qasight-1.6.0/qasight/engine/stage_resources.py +136 -0
  87. qasight-1.6.0/qasight/frameworks/__init__.py +21 -0
  88. qasight-1.6.0/qasight/frameworks/base.py +95 -0
  89. qasight-1.6.0/qasight/frameworks/behave_adapter.py +49 -0
  90. qasight-1.6.0/qasight/frameworks/behavex_adapter.py +74 -0
  91. qasight-1.6.0/qasight/frameworks/command_adapter.py +41 -0
  92. qasight-1.6.0/qasight/frameworks/cypress_adapter.py +55 -0
  93. qasight-1.6.0/qasight/frameworks/jest_adapter.py +97 -0
  94. qasight-1.6.0/qasight/frameworks/junit_adapter.py +40 -0
  95. qasight-1.6.0/qasight/frameworks/playwright_adapter.py +74 -0
  96. qasight-1.6.0/qasight/frameworks/pytest_adapter.py +152 -0
  97. qasight-1.6.0/qasight/history/__init__.py +16 -0
  98. qasight-1.6.0/qasight/history/backup.py +291 -0
  99. qasight-1.6.0/qasight/history/cases.py +36 -0
  100. qasight-1.6.0/qasight/history/maintenance.py +118 -0
  101. qasight-1.6.0/qasight/history/read_model.py +95 -0
  102. qasight-1.6.0/qasight/history/report_links.py +45 -0
  103. qasight-1.6.0/qasight/history/retention.py +228 -0
  104. qasight-1.6.0/qasight/history/snapshots.py +52 -0
  105. qasight-1.6.0/qasight/history/storage.py +183 -0
  106. qasight-1.6.0/qasight/history/views.py +164 -0
  107. qasight-1.6.0/qasight/mcp_server.py +485 -0
  108. qasight-1.6.0/qasight/paths.py +166 -0
  109. qasight-1.6.0/qasight/persistence/__init__.py +23 -0
  110. qasight-1.6.0/qasight/persistence/backend.py +21 -0
  111. qasight-1.6.0/qasight/persistence/composite.py +50 -0
  112. qasight-1.6.0/qasight/persistence/db_backend.py +216 -0
  113. qasight-1.6.0/qasight/persistence/failure_context.py +120 -0
  114. qasight-1.6.0/qasight/persistence/health.py +109 -0
  115. qasight-1.6.0/qasight/persistence/json_backend.py +68 -0
  116. qasight-1.6.0/qasight/plugins.py +157 -0
  117. qasight-1.6.0/qasight/pytest_plugin.py +716 -0
  118. qasight-1.6.0/qasight/reporting/__init__.py +11 -0
  119. qasight-1.6.0/qasight/reporting/allure.py +84 -0
  120. qasight-1.6.0/qasight/reporting/allure_cases.py +216 -0
  121. qasight-1.6.0/qasight/reporting/allure_cli.py +213 -0
  122. qasight-1.6.0/qasight/reporting/allure_passthrough.py +104 -0
  123. qasight-1.6.0/qasight/reporting/allure_results.py +235 -0
  124. qasight-1.6.0/qasight/reporting/behavex_allure.py +63 -0
  125. qasight-1.6.0/qasight/reporting/collector.py +144 -0
  126. qasight-1.6.0/qasight/reporting/coverage_import.py +168 -0
  127. qasight-1.6.0/qasight/reporting/entry.py +130 -0
  128. qasight-1.6.0/qasight/reporting/exporter.py +151 -0
  129. qasight-1.6.0/qasight/reporting/gotest_import.py +223 -0
  130. qasight-1.6.0/qasight/reporting/history_inject.py +76 -0
  131. qasight-1.6.0/qasight/reporting/imported_results.py +139 -0
  132. qasight-1.6.0/qasight/reporting/integrations.py +232 -0
  133. qasight-1.6.0/qasight/reporting/jest_import.py +219 -0
  134. qasight-1.6.0/qasight/reporting/junit_import.py +520 -0
  135. qasight-1.6.0/qasight/reporting/k6_import.py +134 -0
  136. qasight-1.6.0/qasight/reporting/metrics.py +191 -0
  137. qasight-1.6.0/qasight/reporting/metrics_extractor.py +187 -0
  138. qasight-1.6.0/qasight/reporting/native_reports.py +277 -0
  139. qasight-1.6.0/qasight/reporting/paths.py +78 -0
  140. qasight-1.6.0/qasight/reporting/playwright_import.py +406 -0
  141. qasight-1.6.0/qasight/reporting/pyramid_data.py +33 -0
  142. qasight-1.6.0/qasight/reporting/pyramid_viz.py +128 -0
  143. qasight-1.6.0/qasight/reporting/report_generator.py +332 -0
  144. qasight-1.6.0/qasight/reporting/reporters/__init__.py +14 -0
  145. qasight-1.6.0/qasight/reporting/reporters/alert_reporter.py +85 -0
  146. qasight-1.6.0/qasight/reporting/reporters/allure_reporter.py +137 -0
  147. qasight-1.6.0/qasight/reporting/reporters/base.py +63 -0
  148. qasight-1.6.0/qasight/reporting/reporters/extent_builder.py +106 -0
  149. qasight-1.6.0/qasight/reporting/reporters/extent_reporter.py +61 -0
  150. qasight-1.6.0/qasight/reporting/reporters/factory.py +151 -0
  151. qasight-1.6.0/qasight/reporting/reporters/orchestrate.py +95 -0
  152. qasight-1.6.0/qasight/reporting/reporters/otel_reporter.py +66 -0
  153. qasight-1.6.0/qasight/reporting/reporters/reportportal_client.py +367 -0
  154. qasight-1.6.0/qasight/reporting/reporters/reportportal_reporter.py +97 -0
  155. qasight-1.6.0/qasight/reporting/reporters/templates/extent_dashboard.html.j2 +244 -0
  156. qasight-1.6.0/qasight/reporting/reporters/testbeats_payloads.py +197 -0
  157. qasight-1.6.0/qasight/reporting/reporters/testbeats_reporter.py +115 -0
  158. qasight-1.6.0/qasight/reporting/robot_import.py +128 -0
  159. qasight-1.6.0/qasight/reporting/rspec_import.py +114 -0
  160. qasight-1.6.0/qasight/reporting/server.py +140 -0
  161. qasight-1.6.0/qasight/reporting/trx_import.py +170 -0
  162. qasight-1.6.0/qasight/reporting/xcresult_import.py +133 -0
  163. qasight-1.6.0/qasight/repository/__init__.py +15 -0
  164. qasight-1.6.0/qasight/repository/adapters.py +226 -0
  165. qasight-1.6.0/qasight/repository/base.py +94 -0
  166. qasight-1.6.0/qasight/repository/db.py +40 -0
  167. qasight-1.6.0/qasight/repository/db_config.py +139 -0
  168. qasight-1.6.0/qasight/repository/factory.py +115 -0
  169. qasight-1.6.0/qasight/repository/migrations/__init__.py +134 -0
  170. qasight-1.6.0/qasight/repository/migrations/env.py +41 -0
  171. qasight-1.6.0/qasight/repository/migrations/script.py.mako +26 -0
  172. qasight-1.6.0/qasight/repository/migrations/versions/0001_baseline.py +212 -0
  173. qasight-1.6.0/qasight/repository/migrations/versions/0002_promote_run_columns.py +96 -0
  174. qasight-1.6.0/qasight/repository/migrations/versions/0003_test_results.py +49 -0
  175. qasight-1.6.0/qasight/repository/migrations/versions/0004_test_result_crash.py +38 -0
  176. qasight-1.6.0/qasight/repository/migrations/versions/0005_quarantine_and_retried.py +53 -0
  177. qasight-1.6.0/qasight/repository/migrations/versions/0006_test_labels.py +45 -0
  178. qasight-1.6.0/qasight/repository/models.py +380 -0
  179. qasight-1.6.0/qasight/repository/report_archive_repository.py +119 -0
  180. qasight-1.6.0/qasight/repository/test_results.py +105 -0
  181. qasight-1.6.0/qasight/resources/__init__.py +6 -0
  182. qasight-1.6.0/qasight/resources/client.py +583 -0
  183. qasight-1.6.0/qasight/resources/demo.py +151 -0
  184. qasight-1.6.0/qasight/resources/pools.py +430 -0
  185. qasight-1.6.0/qasight/resources/provider.py +312 -0
  186. qasight-1.6.0/qasight/resources/store.py +557 -0
  187. qasight-1.6.0/qasight/security/__init__.py +15 -0
  188. qasight-1.6.0/qasight/security/redaction.py +189 -0
  189. qasight-1.6.0/qasight/services/__init__.py +86 -0
  190. qasight-1.6.0/qasight/services/affected_tests.py +390 -0
  191. qasight-1.6.0/qasight/services/ai/__init__.py +40 -0
  192. qasight-1.6.0/qasight/services/ai/cli_settings.py +121 -0
  193. qasight-1.6.0/qasight/services/ai/config.py +88 -0
  194. qasight-1.6.0/qasight/services/ai/factory.py +28 -0
  195. qasight-1.6.0/qasight/services/ai/integration_settings.py +147 -0
  196. qasight-1.6.0/qasight/services/ai/provider_base.py +72 -0
  197. qasight-1.6.0/qasight/services/ai/providers/__init__.py +5 -0
  198. qasight-1.6.0/qasight/services/ai/providers/anthropic_provider.py +77 -0
  199. qasight-1.6.0/qasight/services/ai/providers/claude_code_provider.py +175 -0
  200. qasight-1.6.0/qasight/services/ai/providers/openai_provider.py +123 -0
  201. qasight-1.6.0/qasight/services/ai_run_summary.py +60 -0
  202. qasight-1.6.0/qasight/services/ask_tests.py +177 -0
  203. qasight-1.6.0/qasight/services/attention.py +118 -0
  204. qasight-1.6.0/qasight/services/badge.py +108 -0
  205. qasight-1.6.0/qasight/services/ci_provenance.py +165 -0
  206. qasight-1.6.0/qasight/services/ci_templates.py +524 -0
  207. qasight-1.6.0/qasight/services/cycle_run.py +503 -0
  208. qasight-1.6.0/qasight/services/dashboard_service.py +357 -0
  209. qasight-1.6.0/qasight/services/delivery_metrics.py +434 -0
  210. qasight-1.6.0/qasight/services/delta_models.py +61 -0
  211. qasight-1.6.0/qasight/services/delta_service.py +330 -0
  212. qasight-1.6.0/qasight/services/failed_first.py +67 -0
  213. qasight-1.6.0/qasight/services/failure_analysis_service.py +222 -0
  214. qasight-1.6.0/qasight/services/failure_context_builder.py +139 -0
  215. qasight-1.6.0/qasight/services/failure_patterns.py +300 -0
  216. qasight-1.6.0/qasight/services/failure_signal.py +233 -0
  217. qasight-1.6.0/qasight/services/failure_source.py +347 -0
  218. qasight-1.6.0/qasight/services/flaky_issues.py +483 -0
  219. qasight-1.6.0/qasight/services/flaky_service.py +353 -0
  220. qasight-1.6.0/qasight/services/github_history.py +110 -0
  221. qasight-1.6.0/qasight/services/github_issues.py +129 -0
  222. qasight-1.6.0/qasight/services/ingest_client.py +138 -0
  223. qasight-1.6.0/qasight/services/junit_ingest.py +195 -0
  224. qasight-1.6.0/qasight/services/manager_report.py +433 -0
  225. qasight-1.6.0/qasight/services/mcp_install.py +111 -0
  226. qasight-1.6.0/qasight/services/metrics_service.py +41 -0
  227. qasight-1.6.0/qasight/services/otel_export.py +411 -0
  228. qasight-1.6.0/qasight/services/plugin_scaffold.py +75 -0
  229. qasight-1.6.0/qasight/services/project_health.py +354 -0
  230. qasight-1.6.0/qasight/services/project_review.py +556 -0
  231. qasight-1.6.0/qasight/services/project_setup.py +588 -0
  232. qasight-1.6.0/qasight/services/quarantine_store.py +428 -0
  233. qasight-1.6.0/qasight/services/releases.py +209 -0
  234. qasight-1.6.0/qasight/services/repo_scan.py +233 -0
  235. qasight-1.6.0/qasight/services/report_archive.py +168 -0
  236. qasight-1.6.0/qasight/services/report_archive_diff.py +181 -0
  237. qasight-1.6.0/qasight/services/report_email.py +196 -0
  238. qasight-1.6.0/qasight/services/report_export.py +240 -0
  239. qasight-1.6.0/qasight/services/report_office.py +480 -0
  240. qasight-1.6.0/qasight/services/report_service.py +121 -0
  241. qasight-1.6.0/qasight/services/rerun_commands.py +280 -0
  242. qasight-1.6.0/qasight/services/run_alerts.py +197 -0
  243. qasight-1.6.0/qasight/services/run_annotations.py +127 -0
  244. qasight-1.6.0/qasight/services/run_digest.py +329 -0
  245. qasight-1.6.0/qasight/services/run_environment.py +111 -0
  246. qasight-1.6.0/qasight/services/run_failures.py +248 -0
  247. qasight-1.6.0/qasight/services/run_release.py +54 -0
  248. qasight-1.6.0/qasight/services/run_snapshot_diff.py +37 -0
  249. qasight-1.6.0/qasight/services/run_summary_markdown.py +361 -0
  250. qasight-1.6.0/qasight/services/server_setup.py +182 -0
  251. qasight-1.6.0/qasight/services/setup_pr.py +166 -0
  252. qasight-1.6.0/qasight/services/stage_check.py +199 -0
  253. qasight-1.6.0/qasight/services/suite_hygiene.py +162 -0
  254. qasight-1.6.0/qasight/services/team_view.py +192 -0
  255. qasight-1.6.0/qasight/services/test_attachments.py +99 -0
  256. qasight-1.6.0/qasight/services/test_history.py +329 -0
  257. qasight-1.6.0/qasight/services/test_issues.py +119 -0
  258. qasight-1.6.0/qasight/services/test_labels.py +78 -0
  259. qasight-1.6.0/qasight/services/test_ownership.py +139 -0
  260. qasight-1.6.0/qasight/services/test_selection.py +173 -0
  261. qasight-1.6.0/qasight/services/test_split.py +210 -0
  262. qasight-1.6.0/qasight/services/triage.py +164 -0
  263. qasight-1.6.0/qasight/services/update_check.py +121 -0
  264. qasight-1.6.0/qasight/templates/plugin/README.md +16 -0
  265. qasight-1.6.0/qasight/templates/plugin/__MODULE__/__init__.py.tmpl +65 -0
  266. qasight-1.6.0/qasight/templates/plugin/__MODULE__/runner.py.tmpl +74 -0
  267. qasight-1.6.0/qasight/templates/plugin/gitignore +6 -0
  268. qasight-1.6.0/qasight/templates/plugin/pyproject.toml +21 -0
  269. qasight-1.6.0/qasight/templates/plugin/qasight.yaml +11 -0
  270. qasight-1.6.0/qasight/templates/plugin/tests/__init__.py.tmpl +0 -0
  271. qasight-1.6.0/qasight/templates/plugin/tests/test_example.py.tmpl +18 -0
  272. qasight-1.6.0/qasight/templates/server/docker-compose.yml +117 -0
  273. qasight-1.6.0/qasight/ui_bundle.py +30 -0
  274. qasight-1.6.0/qasight_api/__init__.py +3 -0
  275. qasight-1.6.0/qasight_api/cycle_execution_manager.py +560 -0
  276. qasight-1.6.0/qasight_api/demo_examples.py +257 -0
  277. qasight-1.6.0/qasight_api/dependencies.py +46 -0
  278. qasight-1.6.0/qasight_api/execution_events.py +186 -0
  279. qasight-1.6.0/qasight_api/login_throttle.py +96 -0
  280. qasight-1.6.0/qasight_api/main.py +371 -0
  281. qasight-1.6.0/qasight_api/models.py +1425 -0
  282. qasight-1.6.0/qasight_api/report_origin.py +180 -0
  283. qasight-1.6.0/qasight_api/routes/__init__.py +1 -0
  284. qasight-1.6.0/qasight_api/routes/ai.py +107 -0
  285. qasight-1.6.0/qasight_api/routes/analytics.py +400 -0
  286. qasight-1.6.0/qasight_api/routes/ask.py +25 -0
  287. qasight-1.6.0/qasight_api/routes/auth.py +230 -0
  288. qasight-1.6.0/qasight_api/routes/badge.py +37 -0
  289. qasight-1.6.0/qasight_api/routes/cycles.py +313 -0
  290. qasight-1.6.0/qasight_api/routes/dashboard.py +152 -0
  291. qasight-1.6.0/qasight_api/routes/health.py +63 -0
  292. qasight-1.6.0/qasight_api/routes/history.py +268 -0
  293. qasight-1.6.0/qasight_api/routes/ingest.py +96 -0
  294. qasight-1.6.0/qasight_api/routes/project_health.py +63 -0
  295. qasight-1.6.0/qasight_api/routes/quarantine.py +72 -0
  296. qasight-1.6.0/qasight_api/routes/report.py +67 -0
  297. qasight-1.6.0/qasight_api/routes/resources.py +233 -0
  298. qasight-1.6.0/qasight_api/routes/storage.py +71 -0
  299. qasight-1.6.0/qasight_api/routes/triage.py +64 -0
  300. qasight-1.6.0/qasight_api/routes/version.py +28 -0
  301. qasight-1.6.0/qasight_api/run_queue.py +193 -0
  302. qasight-1.6.0/qasight_api/security.py +484 -0
  303. qasight-1.6.0/qasight_api/static_site.py +626 -0
  304. qasight-1.6.0/qasight_api/ui.py +35 -0
  305. qasight-1.6.0/qasight_api/ui_dist/assets/index-CcPZt3fO.js +50 -0
  306. qasight-1.6.0/qasight_api/ui_dist/assets/index-gUannA5U.css +2 -0
  307. qasight-1.6.0/qasight_api/ui_dist/index.html +21 -0
  308. qasight-1.6.0/tests/README.md +11 -0
  309. qasight-1.6.0/tests/TEST_LAYOUT.md +58 -0
  310. qasight-1.6.0/tests/__init__.py +1 -0
  311. qasight-1.6.0/tests/_allure_utils.py +41 -0
  312. qasight-1.6.0/tests/_history_fakes.py +19 -0
  313. qasight-1.6.0/tests/conftest.py +452 -0
  314. qasight-1.6.0/tests/contract/api/test_accounts_contract.py +246 -0
  315. qasight-1.6.0/tests/contract/api/test_adhoc_executions_contract.py +98 -0
  316. qasight-1.6.0/tests/contract/api/test_ai_contract.py +167 -0
  317. qasight-1.6.0/tests/contract/api/test_analytics_contract.py +508 -0
  318. qasight-1.6.0/tests/contract/api/test_container_runner_contract.py +21 -0
  319. qasight-1.6.0/tests/contract/api/test_cycle_executions_contract.py +141 -0
  320. qasight-1.6.0/tests/contract/api/test_cycles_contract.py +208 -0
  321. qasight-1.6.0/tests/contract/api/test_dashboard_contract.py +178 -0
  322. qasight-1.6.0/tests/contract/api/test_history_contract.py +375 -0
  323. qasight-1.6.0/tests/contract/api/test_ingest_contract.py +257 -0
  324. qasight-1.6.0/tests/contract/api/test_project_health_contract.py +75 -0
  325. qasight-1.6.0/tests/contract/api/test_quarantine_contract.py +178 -0
  326. qasight-1.6.0/tests/contract/api/test_report_origin_contract.py +128 -0
  327. qasight-1.6.0/tests/contract/api/test_resources_contract.py +233 -0
  328. qasight-1.6.0/tests/contract/api/test_run_deletion_contract.py +174 -0
  329. qasight-1.6.0/tests/contract/api/test_security_contract.py +384 -0
  330. qasight-1.6.0/tests/contract/api/test_storage_contract.py +69 -0
  331. qasight-1.6.0/tests/contract/api/test_token_rotation_contract.py +100 -0
  332. qasight-1.6.0/tests/contract/api/test_triage_contract.py +59 -0
  333. qasight-1.6.0/tests/contract/ci/test_action_copies.py +40 -0
  334. qasight-1.6.0/tests/contract/ci/test_pytest_qasight_package.py +39 -0
  335. qasight-1.6.0/tests/contract/ci/test_ruff_pin.py +21 -0
  336. qasight-1.6.0/tests/contract/ci/test_setup_snippets.py +72 -0
  337. qasight-1.6.0/tests/contract/ci/test_testo_core_compat.py +77 -0
  338. qasight-1.6.0/tests/contract/ci/test_tiered_ci_contract.py +56 -0
  339. qasight-1.6.0/tests/contract/ci/test_wrapper_contract.py +69 -0
  340. qasight-1.6.0/tests/contract/qasight/test_cli_docs_drift.py +61 -0
  341. qasight-1.6.0/tests/contract/qasight/test_config_json_schema.py +172 -0
  342. qasight-1.6.0/tests/contract/qasight/test_docs_vault.py +78 -0
  343. qasight-1.6.0/tests/contract/qasight/test_exit_code_contract.py +86 -0
  344. qasight-1.6.0/tests/contract/qasight/test_mkdocs_hooks.py +96 -0
  345. qasight-1.6.0/tests/contract/qasight/test_packaging_contract.py +71 -0
  346. qasight-1.6.0/tests/contract/qasight/test_repository_contract.py +42 -0
  347. qasight-1.6.0/tests/contract/qasight/test_run_metadata_contract.py +240 -0
  348. qasight-1.6.0/tests/contracts/models.py +76 -0
  349. qasight-1.6.0/tests/contracts/test_mock_api_contracts.py +142 -0
  350. qasight-1.6.0/tests/e2e/__init__.py +1 -0
  351. qasight-1.6.0/tests/e2e/flows/__init__.py +1 -0
  352. qasight-1.6.0/tests/e2e/flows/flow_runner.py +39 -0
  353. qasight-1.6.0/tests/e2e/flows/flow_scenario.py +42 -0
  354. qasight-1.6.0/tests/e2e/flows/test_external_provider_lifecycle.py +78 -0
  355. qasight-1.6.0/tests/e2e/flows/test_plugin_mocked_paths.py +78 -0
  356. qasight-1.6.0/tests/e2e/provisioners/__init__.py +1 -0
  357. qasight-1.6.0/tests/e2e/provisioners/github.py +68 -0
  358. qasight-1.6.0/tests/e2e/provisioners/gitlab.py +70 -0
  359. qasight-1.6.0/tests/e2e/provisioners/local.py +11 -0
  360. qasight-1.6.0/tests/e2e/provisioners/mock_github.py +12 -0
  361. qasight-1.6.0/tests/e2e/provisioners/mock_gitlab.py +12 -0
  362. qasight-1.6.0/tests/e2e/sandbox_api/test_user_journeys.py +87 -0
  363. qasight-1.6.0/tests/e2e/verifiers/__init__.py +1 -0
  364. qasight-1.6.0/tests/e2e/verifiers/artifact_bundle.py +32 -0
  365. qasight-1.6.0/tests/e2e/verifiers/cleanup_audit.py +10 -0
  366. qasight-1.6.0/tests/e2e/verifiers/provider_status.py +10 -0
  367. qasight-1.6.0/tests/fixtures/__init__.py +1 -0
  368. qasight-1.6.0/tests/fixtures/ci/github_workflow_minimal.yml +13 -0
  369. qasight-1.6.0/tests/fixtures/e2e/github_workflow_e2e.yml +9 -0
  370. qasight-1.6.0/tests/fixtures/e2e/gitlab_pipeline_e2e.yml +9 -0
  371. qasight-1.6.0/tests/fixtures/e2e/local.external.env.sample +10 -0
  372. qasight-1.6.0/tests/fixtures/e2e/local.fast.env.sample +5 -0
  373. qasight-1.6.0/tests/fixtures/e2e/local.heavy.env.sample +5 -0
  374. qasight-1.6.0/tests/fixtures/e2e/sample_plugin.py +5 -0
  375. qasight-1.6.0/tests/fixtures/e2e/sample_repo_config.yaml +6 -0
  376. qasight-1.6.0/tests/fixtures/engine/__init__.py +233 -0
  377. qasight-1.6.0/tests/fixtures/engine/scripts/echo.py +43 -0
  378. qasight-1.6.0/tests/fixtures/engine/scripts/hang.py +9 -0
  379. qasight-1.6.0/tests/fixtures/playwright/results.json +417 -0
  380. qasight-1.6.0/tests/integration/api/test_history_endpoints.py +35 -0
  381. qasight-1.6.0/tests/integration/qasight/engine/test_behavex_reports.py +89 -0
  382. qasight-1.6.0/tests/integration/qasight/engine/test_subprocess_smoke.py +119 -0
  383. qasight-1.6.0/tests/integration/sandbox_api/conftest.py +36 -0
  384. qasight-1.6.0/tests/integration/sandbox_api/test_auth_flow.py +32 -0
  385. qasight-1.6.0/tests/integration/sandbox_api/test_chaos_flow.py +48 -0
  386. qasight-1.6.0/tests/integration/sandbox_api/test_items_flow.py +41 -0
  387. qasight-1.6.0/tests/integration/sandbox_api/test_upload_flow.py +46 -0
  388. qasight-1.6.0/tests/unit/cases/json_payloads.py +22 -0
  389. qasight-1.6.0/tests/unit/cases/paths.py +22 -0
  390. qasight-1.6.0/tests/unit/cases/strings.py +26 -0
  391. qasight-1.6.0/tests/unit/ci/test_e2e_artifact_redaction.py +16 -0
  392. qasight-1.6.0/tests/unit/ci/test_export_static_site.py +151 -0
  393. qasight-1.6.0/tests/unit/ci/test_github_action_fork_comments.py +141 -0
  394. qasight-1.6.0/tests/unit/ci/test_github_action_wrapper.py +606 -0
  395. qasight-1.6.0/tests/unit/ci/test_gitlab_pages_demo_contract.py +126 -0
  396. qasight-1.6.0/tests/unit/ci/test_gitlab_template_contract.py +22 -0
  397. qasight-1.6.0/tests/unit/ci/test_marker_tiering_contract.py +26 -0
  398. qasight-1.6.0/tests/unit/qasight/cli/conftest.py +23 -0
  399. qasight-1.6.0/tests/unit/qasight/cli/test_cli_commands_smoke.py +61 -0
  400. qasight-1.6.0/tests/unit/qasight/cli/test_config_discovery.py +127 -0
  401. qasight-1.6.0/tests/unit/qasight/cli/test_config_init.py +46 -0
  402. qasight-1.6.0/tests/unit/qasight/cli/test_run_archive.py +152 -0
  403. qasight-1.6.0/tests/unit/qasight/cli/test_run_ci_ndjson.py +205 -0
  404. qasight-1.6.0/tests/unit/qasight/cli/test_run_exit_codes.py +196 -0
  405. qasight-1.6.0/tests/unit/qasight/cli/test_run_flags.py +226 -0
  406. qasight-1.6.0/tests/unit/qasight/engine/test_container_runner.py +340 -0
  407. qasight-1.6.0/tests/unit/qasight/engine/test_crash_signatures.py +205 -0
  408. qasight-1.6.0/tests/unit/qasight/engine/test_cycle_lock.py +149 -0
  409. qasight-1.6.0/tests/unit/qasight/engine/test_executor.py +358 -0
  410. qasight-1.6.0/tests/unit/qasight/engine/test_exit_codes.py +72 -0
  411. qasight-1.6.0/tests/unit/qasight/engine/test_log_buffer.py +115 -0
  412. qasight-1.6.0/tests/unit/qasight/engine/test_orchestrator.py +176 -0
  413. qasight-1.6.0/tests/unit/qasight/engine/test_orchestrator_lifecycle.py +553 -0
  414. qasight-1.6.0/tests/unit/qasight/engine/test_orchestrator_parallel.py +255 -0
  415. qasight-1.6.0/tests/unit/qasight/engine/test_stage_signals.py +205 -0
  416. qasight-1.6.0/tests/unit/qasight/engine/test_stale_stage_dirs.py +57 -0
  417. qasight-1.6.0/tests/unit/qasight/history/test_cases.py +104 -0
  418. qasight-1.6.0/tests/unit/qasight/history/test_retention.py +290 -0
  419. qasight-1.6.0/tests/unit/qasight/history/test_storage_limits.py +208 -0
  420. qasight-1.6.0/tests/unit/qasight/history/test_unfinished_runs.py +52 -0
  421. qasight-1.6.0/tests/unit/qasight/repository/test_migrations.py +197 -0
  422. qasight-1.6.0/tests/unit/qasight/repository/test_test_results.py +103 -0
  423. qasight-1.6.0/tests/unit/qasight/test_affected_tests.py +357 -0
  424. qasight-1.6.0/tests/unit/qasight/test_ai_claude_code_provider.py +192 -0
  425. qasight-1.6.0/tests/unit/qasight/test_ai_config_model.py +20 -0
  426. qasight-1.6.0/tests/unit/qasight/test_ai_provider_abstraction.py +110 -0
  427. qasight-1.6.0/tests/unit/qasight/test_ai_provider_redirects.py +60 -0
  428. qasight-1.6.0/tests/unit/qasight/test_ai_settings_store.py +77 -0
  429. qasight-1.6.0/tests/unit/qasight/test_allure_cli.py +60 -0
  430. qasight-1.6.0/tests/unit/qasight/test_allure_reporter.py +82 -0
  431. qasight-1.6.0/tests/unit/qasight/test_anthropic_provider.py +116 -0
  432. qasight-1.6.0/tests/unit/qasight/test_ask_tests.py +137 -0
  433. qasight-1.6.0/tests/unit/qasight/test_attention.py +126 -0
  434. qasight-1.6.0/tests/unit/qasight/test_backup.py +144 -0
  435. qasight-1.6.0/tests/unit/qasight/test_badge.py +105 -0
  436. qasight-1.6.0/tests/unit/qasight/test_behave_adapter.py +50 -0
  437. qasight-1.6.0/tests/unit/qasight/test_behavex_adapter.py +75 -0
  438. qasight-1.6.0/tests/unit/qasight/test_behavex_allure.py +122 -0
  439. qasight-1.6.0/tests/unit/qasight/test_ci_provenance.py +153 -0
  440. qasight-1.6.0/tests/unit/qasight/test_cli_ai.py +108 -0
  441. qasight-1.6.0/tests/unit/qasight/test_cli_app.py +23 -0
  442. qasight-1.6.0/tests/unit/qasight/test_cli_clean.py +135 -0
  443. qasight-1.6.0/tests/unit/qasight/test_cli_config_command.py +84 -0
  444. qasight-1.6.0/tests/unit/qasight/test_cli_config_db.py +94 -0
  445. qasight-1.6.0/tests/unit/qasight/test_cli_demo.py +70 -0
  446. qasight-1.6.0/tests/unit/qasight/test_cli_diff.py +163 -0
  447. qasight-1.6.0/tests/unit/qasight/test_cli_doctor.py +76 -0
  448. qasight-1.6.0/tests/unit/qasight/test_cli_flaky.py +104 -0
  449. qasight-1.6.0/tests/unit/qasight/test_cli_help_panels.py +22 -0
  450. qasight-1.6.0/tests/unit/qasight/test_cli_init.py +79 -0
  451. qasight-1.6.0/tests/unit/qasight/test_cli_messages.py +121 -0
  452. qasight-1.6.0/tests/unit/qasight/test_cli_quarantine.py +159 -0
  453. qasight-1.6.0/tests/unit/qasight/test_cli_report_archive.py +94 -0
  454. qasight-1.6.0/tests/unit/qasight/test_cli_report_commands.py +146 -0
  455. qasight-1.6.0/tests/unit/qasight/test_cli_try.py +119 -0
  456. qasight-1.6.0/tests/unit/qasight/test_cli_usage_errors.py +30 -0
  457. qasight-1.6.0/tests/unit/qasight/test_cli_users.py +107 -0
  458. qasight-1.6.0/tests/unit/qasight/test_cli_version_flag.py +37 -0
  459. qasight-1.6.0/tests/unit/qasight/test_cli_watch.py +191 -0
  460. qasight-1.6.0/tests/unit/qasight/test_collect_results_docker_run.py +21 -0
  461. qasight-1.6.0/tests/unit/qasight/test_command_adapter.py +265 -0
  462. qasight-1.6.0/tests/unit/qasight/test_config_env_and_if.py +92 -0
  463. qasight-1.6.0/tests/unit/qasight/test_config_numbers.py +70 -0
  464. qasight-1.6.0/tests/unit/qasight/test_config_reporters.py +86 -0
  465. qasight-1.6.0/tests/unit/qasight/test_config_resolver.py +82 -0
  466. qasight-1.6.0/tests/unit/qasight/test_config_unknown_keys.py +80 -0
  467. qasight-1.6.0/tests/unit/qasight/test_coverage_import.py +208 -0
  468. qasight-1.6.0/tests/unit/qasight/test_cycle_config_triggers.py +124 -0
  469. qasight-1.6.0/tests/unit/qasight/test_cycle_run_service.py +253 -0
  470. qasight-1.6.0/tests/unit/qasight/test_dashboard_service.py +217 -0
  471. qasight-1.6.0/tests/unit/qasight/test_database_url_resolution.py +107 -0
  472. qasight-1.6.0/tests/unit/qasight/test_db_config_engines.py +38 -0
  473. qasight-1.6.0/tests/unit/qasight/test_delivery_metrics.py +208 -0
  474. qasight-1.6.0/tests/unit/qasight/test_delta_service.py +294 -0
  475. qasight-1.6.0/tests/unit/qasight/test_engine_fixes_p11_p14.py +147 -0
  476. qasight-1.6.0/tests/unit/qasight/test_export_site.py +317 -0
  477. qasight-1.6.0/tests/unit/qasight/test_extent_reporter.py +69 -0
  478. qasight-1.6.0/tests/unit/qasight/test_failed_first.py +61 -0
  479. qasight-1.6.0/tests/unit/qasight/test_failure_analysis_service.py +423 -0
  480. qasight-1.6.0/tests/unit/qasight/test_failure_context_builder.py +128 -0
  481. qasight-1.6.0/tests/unit/qasight/test_failure_patterns.py +74 -0
  482. qasight-1.6.0/tests/unit/qasight/test_failure_signal.py +105 -0
  483. qasight-1.6.0/tests/unit/qasight/test_failure_source.py +276 -0
  484. qasight-1.6.0/tests/unit/qasight/test_flaky_issues.py +390 -0
  485. qasight-1.6.0/tests/unit/qasight/test_flaky_service.py +225 -0
  486. qasight-1.6.0/tests/unit/qasight/test_flow_runner_harness.py +64 -0
  487. qasight-1.6.0/tests/unit/qasight/test_github_history.py +120 -0
  488. qasight-1.6.0/tests/unit/qasight/test_history.py +198 -0
  489. qasight-1.6.0/tests/unit/qasight/test_import_attempts.py +127 -0
  490. qasight-1.6.0/tests/unit/qasight/test_import_failures_not_green.py +268 -0
  491. qasight-1.6.0/tests/unit/qasight/test_import_hardening.py +196 -0
  492. qasight-1.6.0/tests/unit/qasight/test_importer_odd_inputs.py +140 -0
  493. qasight-1.6.0/tests/unit/qasight/test_integrations_branch_matrix.py +116 -0
  494. qasight-1.6.0/tests/unit/qasight/test_integrations_more.py +124 -0
  495. qasight-1.6.0/tests/unit/qasight/test_integrations_unit.py +19 -0
  496. qasight-1.6.0/tests/unit/qasight/test_js_runner_adapters.py +181 -0
  497. qasight-1.6.0/tests/unit/qasight/test_junit_ingest.py +255 -0
  498. qasight-1.6.0/tests/unit/qasight/test_lease_cli.py +135 -0
  499. qasight-1.6.0/tests/unit/qasight/test_manager_report.py +89 -0
  500. qasight-1.6.0/tests/unit/qasight/test_mcp_install.py +90 -0
  501. qasight-1.6.0/tests/unit/qasight/test_mcp_server.py +183 -0
  502. qasight-1.6.0/tests/unit/qasight/test_metrics.py +52 -0
  503. qasight-1.6.0/tests/unit/qasight/test_metrics_advanced.py +26 -0
  504. qasight-1.6.0/tests/unit/qasight/test_metrics_extractor_more.py +47 -0
  505. qasight-1.6.0/tests/unit/qasight/test_metrics_extractor_unit.py +25 -0
  506. qasight-1.6.0/tests/unit/qasight/test_missing_cycle_message.py +29 -0
  507. qasight-1.6.0/tests/unit/qasight/test_missing_module.py +93 -0
  508. qasight-1.6.0/tests/unit/qasight/test_native_report_snapshot.py +73 -0
  509. qasight-1.6.0/tests/unit/qasight/test_native_reports.py +131 -0
  510. qasight-1.6.0/tests/unit/qasight/test_otel_export.py +286 -0
  511. qasight-1.6.0/tests/unit/qasight/test_parallel_stages_config.py +56 -0
  512. qasight-1.6.0/tests/unit/qasight/test_paths.py +84 -0
  513. qasight-1.6.0/tests/unit/qasight/test_paths_behave_native.py +15 -0
  514. qasight-1.6.0/tests/unit/qasight/test_persistence_backends.py +453 -0
  515. qasight-1.6.0/tests/unit/qasight/test_persistence_failure_context.py +155 -0
  516. qasight-1.6.0/tests/unit/qasight/test_playwright_adapter.py +134 -0
  517. qasight-1.6.0/tests/unit/qasight/test_playwright_import.py +201 -0
  518. qasight-1.6.0/tests/unit/qasight/test_plugin_scaffold.py +92 -0
  519. qasight-1.6.0/tests/unit/qasight/test_plugins.py +253 -0
  520. qasight-1.6.0/tests/unit/qasight/test_pool_actions.py +194 -0
  521. qasight-1.6.0/tests/unit/qasight/test_pool_provider.py +145 -0
  522. qasight-1.6.0/tests/unit/qasight/test_project_health.py +138 -0
  523. qasight-1.6.0/tests/unit/qasight/test_project_review.py +149 -0
  524. qasight-1.6.0/tests/unit/qasight/test_project_setup.py +262 -0
  525. qasight-1.6.0/tests/unit/qasight/test_pyramid_data.py +97 -0
  526. qasight-1.6.0/tests/unit/qasight/test_pyramid_viz.py +54 -0
  527. qasight-1.6.0/tests/unit/qasight/test_pytest_adapter.py +208 -0
  528. qasight-1.6.0/tests/unit/qasight/test_pytest_plugin.py +171 -0
  529. qasight-1.6.0/tests/unit/qasight/test_quarantine.py +237 -0
  530. qasight-1.6.0/tests/unit/qasight/test_quarantine_store.py +340 -0
  531. qasight-1.6.0/tests/unit/qasight/test_redaction.py +179 -0
  532. qasight-1.6.0/tests/unit/qasight/test_releases.py +162 -0
  533. qasight-1.6.0/tests/unit/qasight/test_rename_compat.py +56 -0
  534. qasight-1.6.0/tests/unit/qasight/test_repo_scan.py +259 -0
  535. qasight-1.6.0/tests/unit/qasight/test_report_archive.py +124 -0
  536. qasight-1.6.0/tests/unit/qasight/test_report_archive_diff.py +264 -0
  537. qasight-1.6.0/tests/unit/qasight/test_report_export.py +283 -0
  538. qasight-1.6.0/tests/unit/qasight/test_report_generator.py +138 -0
  539. qasight-1.6.0/tests/unit/qasight/test_report_generator_branch_matrix.py +41 -0
  540. qasight-1.6.0/tests/unit/qasight/test_report_generator_helpers.py +28 -0
  541. qasight-1.6.0/tests/unit/qasight/test_report_generator_static_sync.py +26 -0
  542. qasight-1.6.0/tests/unit/qasight/test_report_history_inject.py +117 -0
  543. qasight-1.6.0/tests/unit/qasight/test_report_service_more.py +44 -0
  544. qasight-1.6.0/tests/unit/qasight/test_reporter_factory.py +29 -0
  545. qasight-1.6.0/tests/unit/qasight/test_reporters_config.py +83 -0
  546. qasight-1.6.0/tests/unit/qasight/test_reporting_allure.py +124 -0
  547. qasight-1.6.0/tests/unit/qasight/test_reporting_paths.py +128 -0
  548. qasight-1.6.0/tests/unit/qasight/test_reporting_server.py +175 -0
  549. qasight-1.6.0/tests/unit/qasight/test_reportportal_client.py +151 -0
  550. qasight-1.6.0/tests/unit/qasight/test_reportportal_reporter.py +130 -0
  551. qasight-1.6.0/tests/unit/qasight/test_repository_factory.py +62 -0
  552. qasight-1.6.0/tests/unit/qasight/test_repository_sqlite.py +151 -0
  553. qasight-1.6.0/tests/unit/qasight/test_rerun_commands.py +167 -0
  554. qasight-1.6.0/tests/unit/qasight/test_resolver_container_env.py +45 -0
  555. qasight-1.6.0/tests/unit/qasight/test_resource_client.py +214 -0
  556. qasight-1.6.0/tests/unit/qasight/test_resource_demo.py +115 -0
  557. qasight-1.6.0/tests/unit/qasight/test_resource_pools.py +102 -0
  558. qasight-1.6.0/tests/unit/qasight/test_resource_store.py +202 -0
  559. qasight-1.6.0/tests/unit/qasight/test_result_formats.py +639 -0
  560. qasight-1.6.0/tests/unit/qasight/test_run_alerts.py +300 -0
  561. qasight-1.6.0/tests/unit/qasight/test_run_annotations.py +124 -0
  562. qasight-1.6.0/tests/unit/qasight/test_run_configured_reporters.py +54 -0
  563. qasight-1.6.0/tests/unit/qasight/test_run_digest.py +161 -0
  564. qasight-1.6.0/tests/unit/qasight/test_run_environment.py +115 -0
  565. qasight-1.6.0/tests/unit/qasight/test_run_failures.py +267 -0
  566. qasight-1.6.0/tests/unit/qasight/test_run_snapshot_diff.py +84 -0
  567. qasight-1.6.0/tests/unit/qasight/test_run_summary_markdown.py +314 -0
  568. qasight-1.6.0/tests/unit/qasight/test_server_init.py +98 -0
  569. qasight-1.6.0/tests/unit/qasight/test_services.py +27 -0
  570. qasight-1.6.0/tests/unit/qasight/test_setup_pr.py +184 -0
  571. qasight-1.6.0/tests/unit/qasight/test_stage_name_unique.py +34 -0
  572. qasight-1.6.0/tests/unit/qasight/test_stage_resources.py +273 -0
  573. qasight-1.6.0/tests/unit/qasight/test_stage_tier_config.py +101 -0
  574. qasight-1.6.0/tests/unit/qasight/test_summary_dashboard.py +55 -0
  575. qasight-1.6.0/tests/unit/qasight/test_team_and_suite.py +84 -0
  576. qasight-1.6.0/tests/unit/qasight/test_test_attachments.py +105 -0
  577. qasight-1.6.0/tests/unit/qasight/test_test_history.py +153 -0
  578. qasight-1.6.0/tests/unit/qasight/test_test_issues.py +86 -0
  579. qasight-1.6.0/tests/unit/qasight/test_test_labels.py +195 -0
  580. qasight-1.6.0/tests/unit/qasight/test_test_ownership.py +98 -0
  581. qasight-1.6.0/tests/unit/qasight/test_test_selection.py +144 -0
  582. qasight-1.6.0/tests/unit/qasight/test_test_split.py +256 -0
  583. qasight-1.6.0/tests/unit/qasight/test_testbeats_payloads.py +81 -0
  584. qasight-1.6.0/tests/unit/qasight/test_testbeats_reporter.py +127 -0
  585. qasight-1.6.0/tests/unit/qasight/test_triage.py +66 -0
  586. qasight-1.6.0/tests/unit/qasight/test_triggers.py +235 -0
  587. qasight-1.6.0/tests/unit/qasight/test_ui_cmd.py +85 -0
  588. qasight-1.6.0/tests/unit/qasight/test_update_check.py +103 -0
  589. qasight-1.6.0/tests/unit/qasight/test_workers_explicit.py +68 -0
  590. qasight-1.6.0/tests/unit/qasight_api/test_history_retention_timer.py +63 -0
  591. qasight-1.6.0/tests/unit/test_cycle_execution_manager.py +444 -0
  592. qasight-1.6.0/tests/unit/test_defaults_and_placeholders.py +14 -0
  593. qasight-1.6.0/tests/unit/test_run_queue.py +139 -0
@@ -0,0 +1,86 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .DS_Store
4
+ .venv/
5
+ venv/
6
+
7
+ # Local secrets (copy from .env.example)
8
+ .env
9
+
10
+ # Default local SQLite DB when DATABASE_URL is unset (qasight/repository/db_config.py)
11
+ uqo_history.db
12
+ testo_history.db
13
+
14
+ # Generated sandbox DB from the test suite (tests/artifacts/)
15
+ tests/artifacts/*.db
16
+
17
+ # Cursor IDE local state (debug logs, plans, rules, etc.)
18
+ .cursor/
19
+
20
+ # Local e2e test scratch (cleanup ledgers, etc.)
21
+ .artifacts/
22
+
23
+ # Built Python distribution artifacts
24
+ # The UI copied into the wheel by scripts/build_ui_bundle.sh
25
+ qasight_api/ui_dist/
26
+ dist/
27
+ build/
28
+ *.egg-info/
29
+
30
+ # Local release-gate run logs
31
+ artifacts/release-gate-*/
32
+
33
+ # Generated report HTML (static/history/ is served by the API for each run's Report Links)
34
+ static/
35
+
36
+ # Run data of an installed package run from this directory (qasight/paths.py)
37
+ .testo/
38
+
39
+ # Persisted run history (SQLite + per-run HTML snapshots)
40
+ artifacts/uqo_run_history.sqlite
41
+ artifacts/testo_sandbox.db
42
+ artifacts/history/
43
+
44
+ # AI settings saved by the API (never contains the key)
45
+ artifacts/ai_settings.json
46
+
47
+ # Local/generated artifacts
48
+ .coverage
49
+ coverage.xml
50
+ artifacts/allure-report/
51
+ artifacts/allure-results/
52
+ artifacts/allure-results-archive/
53
+ artifacts/allure-report.zip
54
+ artifacts/metrics.json
55
+
56
+ # Runtime logs
57
+ logs/
58
+
59
+ # Frontend workspace artifacts
60
+ frontend/node_modules/
61
+ frontend/dist/
62
+ frontend/*.tsbuildinfo
63
+
64
+ # Root Node tooling (Allure CLI, commitlint)
65
+ node_modules/
66
+
67
+ # Local sample-cycle run output (qasight run --cycle sample-*)
68
+ artifacts/sample-behave/
69
+ artifacts/sample-pytests/
70
+ artifacts/sample-all-frameworks/
71
+ artifacts/self-test/
72
+ artifacts/fake-api/
73
+ .testo/
74
+
75
+ # Local test-suite scratch DBs
76
+ tests/artifacts/
77
+
78
+ # Local ReportPortal Postgres data volume
79
+ data/
80
+
81
+
82
+ # GitLab Pages demo output (scripts/export_static_site.py + the Pages job)
83
+ /public/
84
+ /.ci-history/
85
+ /.demo/
86
+ site/