@silasfmartins/testhub 1.0.0

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 (296) hide show
  1. package/.github/copilot-instructions.md +520 -0
  2. package/biome.json +37 -0
  3. package/dist/index.d.ts +45 -0
  4. package/dist/index.js +169 -0
  5. package/dist/scripts/consumer-postinstall.d.ts +15 -0
  6. package/dist/scripts/consumer-postinstall.js +785 -0
  7. package/dist/scripts/generate-docs.d.ts +16 -0
  8. package/dist/scripts/generate-docs.js +1363 -0
  9. package/dist/scripts/generate-index.d.ts +2 -0
  10. package/dist/scripts/generate-index.js +314 -0
  11. package/dist/scripts/init-api.d.ts +2 -0
  12. package/dist/scripts/init-api.js +525 -0
  13. package/dist/scripts/init-banco.d.ts +2 -0
  14. package/dist/scripts/init-banco.js +347 -0
  15. package/dist/scripts/init-frontend.d.ts +2 -0
  16. package/dist/scripts/init-frontend.js +627 -0
  17. package/dist/scripts/init-mobile.d.ts +2 -0
  18. package/dist/scripts/init-mobile.js +481 -0
  19. package/dist/scripts/init-scenarios.d.ts +2 -0
  20. package/dist/scripts/init-scenarios.js +846 -0
  21. package/dist/scripts/init-ssh.d.ts +2 -0
  22. package/dist/scripts/init-ssh.js +639 -0
  23. package/dist/scripts/package-versions.d.ts +57 -0
  24. package/dist/scripts/package-versions.js +768 -0
  25. package/dist/scripts/postinstall.d.ts +1 -0
  26. package/dist/scripts/postinstall.js +527 -0
  27. package/dist/scripts/robust-build.d.ts +7 -0
  28. package/dist/scripts/robust-build.js +88 -0
  29. package/dist/scripts/setup-local-packages.d.ts +31 -0
  30. package/dist/scripts/setup-local-packages.js +237 -0
  31. package/dist/scripts/smart-override.d.ts +2 -0
  32. package/dist/scripts/smart-override.js +1360 -0
  33. package/dist/scripts/sync-configs.d.ts +27 -0
  34. package/dist/scripts/sync-configs.js +248 -0
  35. package/dist/scripts/test-biome-parse.d.ts +5 -0
  36. package/dist/scripts/test-biome-parse.js +84 -0
  37. package/dist/scripts/ultracite-setup.d.ts +4 -0
  38. package/dist/scripts/ultracite-setup.js +310 -0
  39. package/dist/scripts/update-all-init-scripts.d.ts +2 -0
  40. package/dist/scripts/update-all-init-scripts.js +52 -0
  41. package/dist/scripts/update-biome-schema.d.ts +15 -0
  42. package/dist/scripts/update-biome-schema.js +124 -0
  43. package/dist/src/AutoCoreFacade.d.ts +145 -0
  44. package/dist/src/AutoCoreFacade.js +217 -0
  45. package/dist/src/api/ApiActions.d.ts +297 -0
  46. package/dist/src/api/ApiActions.js +1905 -0
  47. package/dist/src/api/Certificate.d.ts +60 -0
  48. package/dist/src/api/Certificate.js +79 -0
  49. package/dist/src/api/JsonResponse.d.ts +116 -0
  50. package/dist/src/api/JsonResponse.js +206 -0
  51. package/dist/src/appium/DeviceFarmViewer.d.ts +79 -0
  52. package/dist/src/appium/DeviceFarmViewer.js +1083 -0
  53. package/dist/src/appium/MobileActions.d.ts +347 -0
  54. package/dist/src/appium/MobileActions.js +1632 -0
  55. package/dist/src/appium/MobileConnection.d.ts +160 -0
  56. package/dist/src/appium/MobileConnection.js +772 -0
  57. package/dist/src/config/envLoader.d.ts +123 -0
  58. package/dist/src/config/envLoader.js +361 -0
  59. package/dist/src/config/jest-safe-setup.d.ts +19 -0
  60. package/dist/src/config/jest-safe-setup.js +369 -0
  61. package/dist/src/config/timeouts.d.ts +32 -0
  62. package/dist/src/config/timeouts.js +38 -0
  63. package/dist/src/desktop/DesktopActions.d.ts +46 -0
  64. package/dist/src/desktop/DesktopActions.js +398 -0
  65. package/dist/src/desktop/DesktopConnection.d.ts +32 -0
  66. package/dist/src/desktop/DesktopConnection.js +84 -0
  67. package/dist/src/domain/entities/TestExecution.d.ts +117 -0
  68. package/dist/src/domain/entities/TestExecution.js +150 -0
  69. package/dist/src/domain/entities/TestReport.d.ts +114 -0
  70. package/dist/src/domain/entities/TestReport.js +179 -0
  71. package/dist/src/domain/repositories/ITestRepository.d.ts +196 -0
  72. package/dist/src/domain/repositories/ITestRepository.js +14 -0
  73. package/dist/src/domain/schemas/ValidationSchemas.d.ts +159 -0
  74. package/dist/src/domain/schemas/ValidationSchemas.js +181 -0
  75. package/dist/src/functions/errors/BaseError.d.ts +78 -0
  76. package/dist/src/functions/errors/BaseError.js +245 -0
  77. package/dist/src/functions/errors/ConfigurationError.d.ts +16 -0
  78. package/dist/src/functions/errors/ConfigurationError.js +48 -0
  79. package/dist/src/functions/errors/ErrorCatalog.d.ts +148 -0
  80. package/dist/src/functions/errors/ErrorCatalog.js +157 -0
  81. package/dist/src/functions/errors/GlobalErrorHandler.d.ts +101 -0
  82. package/dist/src/functions/errors/GlobalErrorHandler.js +281 -0
  83. package/dist/src/functions/errors/IntegrationError.d.ts +17 -0
  84. package/dist/src/functions/errors/IntegrationError.js +51 -0
  85. package/dist/src/functions/errors/SecurityError.d.ts +14 -0
  86. package/dist/src/functions/errors/SecurityError.js +42 -0
  87. package/dist/src/functions/errors/SystemError.d.ts +12 -0
  88. package/dist/src/functions/errors/SystemError.js +36 -0
  89. package/dist/src/functions/errors/ValidationError.d.ts +14 -0
  90. package/dist/src/functions/errors/ValidationError.js +61 -0
  91. package/dist/src/functions/errors/index.d.ts +12 -0
  92. package/dist/src/functions/errors/index.js +13 -0
  93. package/dist/src/global-setup.d.ts +1 -0
  94. package/dist/src/global-setup.js +1037 -0
  95. package/dist/src/helpers/BancoActions.d.ts +188 -0
  96. package/dist/src/helpers/BancoActions.js +581 -0
  97. package/dist/src/helpers/EnviromentHelper.d.ts +17 -0
  98. package/dist/src/helpers/EnviromentHelper.js +66 -0
  99. package/dist/src/helpers/ParallelExecutionHelper.d.ts +183 -0
  100. package/dist/src/helpers/ParallelExecutionHelper.js +375 -0
  101. package/dist/src/helpers/SyncSignal.d.ts +15 -0
  102. package/dist/src/helpers/SyncSignal.js +44 -0
  103. package/dist/src/hubdocs/CategoryDetector.d.ts +83 -0
  104. package/dist/src/hubdocs/CategoryDetector.js +401 -0
  105. package/dist/src/hubdocs/DirectStatementInterceptor.d.ts +54 -0
  106. package/dist/src/hubdocs/DirectStatementInterceptor.js +243 -0
  107. package/dist/src/hubdocs/ExecutionTracker.d.ts +107 -0
  108. package/dist/src/hubdocs/ExecutionTracker.js +702 -0
  109. package/dist/src/hubdocs/HubDocs.d.ts +395 -0
  110. package/dist/src/hubdocs/HubDocs.js +3586 -0
  111. package/dist/src/hubdocs/StatementMethodFilter.d.ts +71 -0
  112. package/dist/src/hubdocs/StatementMethodFilter.js +618 -0
  113. package/dist/src/hubdocs/StatementTracker.d.ts +417 -0
  114. package/dist/src/hubdocs/StatementTracker.js +2419 -0
  115. package/dist/src/hubdocs/SwaggerGenerator.d.ts +59 -0
  116. package/dist/src/hubdocs/SwaggerGenerator.js +405 -0
  117. package/dist/src/hubdocs/index.d.ts +9 -0
  118. package/dist/src/hubdocs/index.js +9 -0
  119. package/dist/src/hubdocs/types.d.ts +114 -0
  120. package/dist/src/hubdocs/types.js +5 -0
  121. package/dist/src/infrastructure/DependencyContainer.d.ts +142 -0
  122. package/dist/src/infrastructure/DependencyContainer.js +250 -0
  123. package/dist/src/infrastructure/adapters/AppiumAdapter.d.ts +168 -0
  124. package/dist/src/infrastructure/adapters/AppiumAdapter.js +468 -0
  125. package/dist/src/infrastructure/adapters/OracleAdapter.d.ts +150 -0
  126. package/dist/src/infrastructure/adapters/OracleAdapter.js +388 -0
  127. package/dist/src/infrastructure/adapters/PlaywrightAdapter.d.ts +192 -0
  128. package/dist/src/infrastructure/adapters/PlaywrightAdapter.js +382 -0
  129. package/dist/src/infrastructure/adapters/SSHAdapter.d.ts +141 -0
  130. package/dist/src/infrastructure/adapters/SSHAdapter.js +428 -0
  131. package/dist/src/interfaces.d.ts +501 -0
  132. package/dist/src/interfaces.js +25 -0
  133. package/dist/src/internal/fakes/__fake-actions__.d.ts +17 -0
  134. package/dist/src/internal/fakes/__fake-actions__.js +21 -0
  135. package/dist/src/internal/fakes/__forbidden__.d.ts +10 -0
  136. package/dist/src/internal/fakes/__forbidden__.js +18 -0
  137. package/dist/src/internal/fakes/__honeypot__.d.ts +15 -0
  138. package/dist/src/internal/fakes/__honeypot__.js +24 -0
  139. package/dist/src/octane/OctaneReporter.d.ts +13 -0
  140. package/dist/src/octane/OctaneReporter.js +61 -0
  141. package/dist/src/playwright/CryptoActions.d.ts +20 -0
  142. package/dist/src/playwright/CryptoActions.js +75 -0
  143. package/dist/src/playwright/EnhancedWebActions.d.ts +7 -0
  144. package/dist/src/playwright/EnhancedWebActions.js +65 -0
  145. package/dist/src/playwright/WebActions.d.ts +1599 -0
  146. package/dist/src/playwright/WebActions.js +11788 -0
  147. package/dist/src/playwright/actions/ActionTimeline.d.ts +36 -0
  148. package/dist/src/playwright/actions/ActionTimeline.js +101 -0
  149. package/dist/src/playwright/actions/RecoveryQueue.d.ts +82 -0
  150. package/dist/src/playwright/actions/RecoveryQueue.js +130 -0
  151. package/dist/src/playwright/actions/SelectorCache.d.ts +53 -0
  152. package/dist/src/playwright/actions/SelectorCache.js +96 -0
  153. package/dist/src/playwright/actions/index.d.ts +13 -0
  154. package/dist/src/playwright/actions/index.js +14 -0
  155. package/dist/src/playwright/actions/types.d.ts +147 -0
  156. package/dist/src/playwright/actions/types.js +5 -0
  157. package/dist/src/playwright/fixtures.d.ts +112 -0
  158. package/dist/src/playwright/fixtures.js +718 -0
  159. package/dist/src/playwright/network-logs-reporter.d.ts +7 -0
  160. package/dist/src/playwright/network-logs-reporter.js +66 -0
  161. package/dist/src/playwright/registerRecoveryWrappers.d.ts +1 -0
  162. package/dist/src/playwright/registerRecoveryWrappers.js +54 -0
  163. package/dist/src/security/BuildSecurity.d.ts +12 -0
  164. package/dist/src/security/BuildSecurity.js +138 -0
  165. package/dist/src/security/EulaProtection.d.ts +70 -0
  166. package/dist/src/security/EulaProtection.js +155 -0
  167. package/dist/src/security/HoneypotManager.d.ts +46 -0
  168. package/dist/src/security/HoneypotManager.js +234 -0
  169. package/dist/src/security/KeysManager.d.ts +36 -0
  170. package/dist/src/security/KeysManager.js +158 -0
  171. package/dist/src/security/ProofOfWorkIntegration.d.ts +64 -0
  172. package/dist/src/security/ProofOfWorkIntegration.js +206 -0
  173. package/dist/src/security/SecurityValidation.d.ts +21 -0
  174. package/dist/src/security/SecurityValidation.js +163 -0
  175. package/dist/src/security/SourceMapProtection.d.ts +55 -0
  176. package/dist/src/security/SourceMapProtection.js +220 -0
  177. package/dist/src/security/protector.d.ts +1 -0
  178. package/dist/src/security/protector.js +97 -0
  179. package/dist/src/ssh/SSHActions.d.ts +262 -0
  180. package/dist/src/ssh/SSHActions.js +790 -0
  181. package/dist/src/ssh/SSHClient.d.ts +99 -0
  182. package/dist/src/ssh/SSHClient.js +409 -0
  183. package/dist/src/statements/BaseStatement.d.ts +38 -0
  184. package/dist/src/statements/BaseStatement.js +78 -0
  185. package/dist/src/testContext/AuthStateManager.d.ts +93 -0
  186. package/dist/src/testContext/AuthStateManager.js +256 -0
  187. package/dist/src/testContext/CoverageManager.d.ts +198 -0
  188. package/dist/src/testContext/CoverageManager.js +917 -0
  189. package/dist/src/testContext/TestAnnotations.d.ts +476 -0
  190. package/dist/src/testContext/TestAnnotations.js +2647 -0
  191. package/dist/src/testContext/TestContext.d.ts +138 -0
  192. package/dist/src/testContext/TestContext.js +369 -0
  193. package/dist/src/testContext/UnifiedHtmlGenerator.d.ts +7 -0
  194. package/dist/src/testContext/UnifiedHtmlGenerator.js +264 -0
  195. package/dist/src/testContext/UnifiedReportManager.d.ts +211 -0
  196. package/dist/src/testContext/UnifiedReportManager.js +1206 -0
  197. package/dist/src/testhub/DynamicConfigManager.d.ts +121 -0
  198. package/dist/src/testhub/DynamicConfigManager.js +320 -0
  199. package/dist/src/testhub/SystemsManager.d.ts +119 -0
  200. package/dist/src/testhub/SystemsManager.js +365 -0
  201. package/dist/src/testhub/TestHubClient.d.ts +335 -0
  202. package/dist/src/testhub/TestHubClient.js +1215 -0
  203. package/dist/src/testhub/TestHubReporter.d.ts +62 -0
  204. package/dist/src/testhub/TestHubReporter.js +576 -0
  205. package/dist/src/testhub/TestHubVars.d.ts +116 -0
  206. package/dist/src/testhub/TestHubVars.js +273 -0
  207. package/dist/src/utils/ActionInterceptor.d.ts +59 -0
  208. package/dist/src/utils/ActionInterceptor.js +741 -0
  209. package/dist/src/utils/ArtifactsCompressor.d.ts +43 -0
  210. package/dist/src/utils/ArtifactsCompressor.js +181 -0
  211. package/dist/src/utils/AutoLogsFinal.d.ts +47 -0
  212. package/dist/src/utils/AutoLogsFinal.js +148 -0
  213. package/dist/src/utils/CodeGenSession.d.ts +114 -0
  214. package/dist/src/utils/CodeGenSession.js +264 -0
  215. package/dist/src/utils/ConfigLogger.d.ts +133 -0
  216. package/dist/src/utils/ConfigLogger.js +611 -0
  217. package/dist/src/utils/CustomReporter.d.ts +22 -0
  218. package/dist/src/utils/CustomReporter.js +352 -0
  219. package/dist/src/utils/DataStore.d.ts +171 -0
  220. package/dist/src/utils/DataStore.js +484 -0
  221. package/dist/src/utils/DatabaseInterceptor.d.ts +19 -0
  222. package/dist/src/utils/DatabaseInterceptor.js +295 -0
  223. package/dist/src/utils/DateHelper.d.ts +16 -0
  224. package/dist/src/utils/DateHelper.js +120 -0
  225. package/dist/src/utils/DateValidator.d.ts +4 -0
  226. package/dist/src/utils/DateValidator.js +51 -0
  227. package/dist/src/utils/DocumentGenerator.d.ts +35 -0
  228. package/dist/src/utils/DocumentGenerator.js +129 -0
  229. package/dist/src/utils/EvidenceCapture.d.ts +90 -0
  230. package/dist/src/utils/EvidenceCapture.js +600 -0
  231. package/dist/src/utils/EvidenceReportGenerator.d.ts +70 -0
  232. package/dist/src/utils/EvidenceReportGenerator.js +799 -0
  233. package/dist/src/utils/FrameManagementUtil.d.ts +42 -0
  234. package/dist/src/utils/FrameManagementUtil.js +75 -0
  235. package/dist/src/utils/GlobalStatementsInterceptor.d.ts +1 -0
  236. package/dist/src/utils/GlobalStatementsInterceptor.js +1 -0
  237. package/dist/src/utils/HTMLTemplate.d.ts +1 -0
  238. package/dist/src/utils/HTMLTemplate.js +1034 -0
  239. package/dist/src/utils/InterceptacaoMagica.d.ts +23 -0
  240. package/dist/src/utils/InterceptacaoMagica.js +365 -0
  241. package/dist/src/utils/LogSanitizer.d.ts +35 -0
  242. package/dist/src/utils/LogSanitizer.js +110 -0
  243. package/dist/src/utils/Logger.d.ts +65 -0
  244. package/dist/src/utils/Logger.js +284 -0
  245. package/dist/src/utils/McpLocalClient.d.ts +141 -0
  246. package/dist/src/utils/McpLocalClient.js +871 -0
  247. package/dist/src/utils/PDFEvidenceGenerator.d.ts +20 -0
  248. package/dist/src/utils/PDFEvidenceGenerator.js +156 -0
  249. package/dist/src/utils/SpecFileAnalyzer.d.ts +35 -0
  250. package/dist/src/utils/SpecFileAnalyzer.js +209 -0
  251. package/dist/src/utils/StatementInterceptor.d.ts +18 -0
  252. package/dist/src/utils/StatementInterceptor.js +87 -0
  253. package/dist/src/utils/StatementLogger.d.ts +33 -0
  254. package/dist/src/utils/StatementLogger.js +113 -0
  255. package/dist/src/utils/StatementsInterceptor.d.ts +1 -0
  256. package/dist/src/utils/StatementsInterceptor.js +1 -0
  257. package/dist/src/utils/TeamsFlushHook.d.ts +17 -0
  258. package/dist/src/utils/TeamsFlushHook.js +168 -0
  259. package/dist/src/utils/TerminalLogCapture.d.ts +158 -0
  260. package/dist/src/utils/TerminalLogCapture.js +531 -0
  261. package/dist/src/utils/TestMethodLogger.d.ts +70 -0
  262. package/dist/src/utils/TestMethodLogger.js +95 -0
  263. package/dist/src/utils/UnifiedTeardown.d.ts +4 -0
  264. package/dist/src/utils/UnifiedTeardown.js +400 -0
  265. package/dist/src/utils/XPathCatalog.d.ts +152 -0
  266. package/dist/src/utils/XPathCatalog.js +350 -0
  267. package/dist/src/utils/generators.d.ts +90 -0
  268. package/dist/src/utils/generators.js +167 -0
  269. package/dist/src/utils/testRecovery/ResilientPlaywright.d.ts +152 -0
  270. package/dist/src/utils/testRecovery/ResilientPlaywright.js +715 -0
  271. package/dist/src/utils/testRecovery/TestRecoveryClient.d.ts +801 -0
  272. package/dist/src/utils/testRecovery/TestRecoveryClient.js +1415 -0
  273. package/dist/src/utils/testRecovery/autoFixCode.d.ts +65 -0
  274. package/dist/src/utils/testRecovery/autoFixCode.js +32 -0
  275. package/dist/vitest.config.d.ts +2 -0
  276. package/dist/vitest.config.js +59 -0
  277. package/dist/wdio.conf.d.ts +1 -0
  278. package/dist/wdio.conf.js +420 -0
  279. package/package.json +137 -0
  280. package/protect-loader.mjs +643 -0
  281. package/scripts/consumer-postinstall.ts +975 -0
  282. package/scripts/generate-index.ts +343 -0
  283. package/scripts/init-api.ts +613 -0
  284. package/scripts/init-banco.ts +437 -0
  285. package/scripts/init-frontend.ts +727 -0
  286. package/scripts/init-mobile.ts +558 -0
  287. package/scripts/init-scenarios.ts +925 -0
  288. package/scripts/init-ssh.ts +734 -0
  289. package/scripts/package-versions.ts +978 -0
  290. package/scripts/postinstall.ts +605 -0
  291. package/scripts/smart-override.ts +1675 -0
  292. package/scripts/sync-configs.ts +302 -0
  293. package/scripts/ultracite-setup.ts +370 -0
  294. package/src/types/globals.d.ts +48 -0
  295. package/tsconfig.json +29 -0
  296. package/types/autocore-sync-signal.d.ts +10 -0
@@ -0,0 +1,297 @@
1
+ import { type APIRequestContext } from '@playwright/test';
2
+ import { type Certificate, createCertificate } from './Certificate.js';
3
+ import { JsonResponse } from './JsonResponse.js';
4
+ import '../hubdocs/StatementTracker.js';
5
+ export type { Certificate };
6
+ export { createCertificate };
7
+ export interface ApiRequestOptions {
8
+ headers?: Record<string, string>;
9
+ data?: unknown;
10
+ form?: Record<string, string | number>;
11
+ params?: Record<string, string | number>;
12
+ timeout?: number;
13
+ }
14
+ export interface ApiRequest {
15
+ url: string;
16
+ options?: ApiRequestOptions;
17
+ certificate?: Certificate;
18
+ }
19
+ /**
20
+ * ✅ Interface para o retorno padronizado das requisições
21
+ * - status(): número do status HTTP
22
+ * - headers(): headers da resposta
23
+ * - text(): corpo da resposta como string
24
+ * - getString(key): campo do JSON como string
25
+ * - get(key): campo do JSON
26
+ * - getArray(key?): array do JSON
27
+ * - getObject(key): objeto do JSON
28
+ * - getFromArray(index): item do array como JsonResponse
29
+ * - getStringFromArray(index, field): campo do array como string
30
+ * - getPath(...path): navegação aninhada
31
+ * - raw(): JSON bruto
32
+ * - duration: duração da requisição em ms
33
+ */
34
+ export interface ApiResponse {
35
+ status(): number;
36
+ getStatus(): number;
37
+ headers(): Record<string, string>;
38
+ text(): string;
39
+ getString(key: string): string;
40
+ get(key: string): unknown;
41
+ getArray(key?: string): JsonResponse[];
42
+ getObject(key: string): JsonResponse;
43
+ getFromArray(index: number): JsonResponse;
44
+ getStringFromArray(index: number, field: string): string;
45
+ getPath(...path: (string | number)[]): unknown;
46
+ raw(): unknown;
47
+ duration: number;
48
+ }
49
+ /**
50
+ * ✅ APIACTIONS DEFINITIVA: Interface Nova Avançada
51
+ *
52
+ * Interface Unificada:
53
+ * - get(request, descrição, ignoreSSL) -> ApiResponse
54
+ * - post(request, descrição, ignoreSSL) -> ApiResponse
55
+ *
56
+ * Melhorias Incluídas:
57
+ * - Tratamento de erros especializado
58
+ * - Logs estruturados e mascaramento de dados sensíveis
59
+ * - Métricas de performance automáticas
60
+ * - Compatibilidade com TestContext automática
61
+ * - Bypass automático do sistema de proteção
62
+ */
63
+ export declare class ApiActions {
64
+ private static successCount;
65
+ private static failureCount;
66
+ private static inicioExecucao;
67
+ private static fimExecucao;
68
+ private static logsPerTest;
69
+ private static duracoes;
70
+ private static foiUsado;
71
+ private static requestCount;
72
+ private static contextCache;
73
+ private static dadosGerais;
74
+ private static marcarUsoAutomatico;
75
+ /**
76
+ * ✅ Limpa o cache de contextos, descartando recursos corretamente
77
+ * Deve ser chamado quando um novo CT inicia ou quando o sistema muda
78
+ */
79
+ static clearContextCache(): Promise<void>;
80
+ /**
81
+ * ✅ Garante que TestContext.apiContext existe
82
+ */
83
+ private static ensureApiContext;
84
+ private static createApiResponse;
85
+ static foiUtilizado(): boolean;
86
+ static registrarInicioExecucao(): void;
87
+ static registrarFimExecucao(): void;
88
+ static logEvent(message: string): void;
89
+ /**
90
+ * ✅ MÉTODO GET: Interface Nova Avançada
91
+ *
92
+ * @param request Objeto contendo URL, opções e certificado opcional da requisição
93
+ * @param descricao Descrição da ação para logs e relatórios
94
+ * @param ignoreSSL Se true, ignora erros de certificado SSL (mutuamente exclusivo com certificate)
95
+ * @returns Promise<ApiResponse> - Resposta avançada com métodos especializados
96
+ *
97
+ * ⚠️ IMPORTANTE: Não use ignoreSSL=true junto com certificate no request.
98
+ * Use apenas um dos dois: ignoreSSL OU certificate.
99
+ */
100
+ static get(request: ApiRequest, descricao: string, ignoreSSL?: boolean): Promise<ApiResponse>;
101
+ /**
102
+ * ✅ MÉTODO POST: Interface Nova Avançada
103
+ *
104
+ * @param request Objeto contendo URL, opções e certificado opcional da requisição
105
+ * @param descricao Descrição da ação para logs e relatórios
106
+ * @param ignoreSSL Se true, ignora erros de certificado SSL (mutuamente exclusivo com certificate)
107
+ * @returns Promise<ApiResponse> - Resposta avançada com métodos especializados
108
+ *
109
+ * ⚠️ IMPORTANTE: Não use ignoreSSL=true junto com certificate no request.
110
+ * Use apenas um dos dois: ignoreSSL OU certificate.
111
+ */
112
+ static post(request: ApiRequest, descricao: string, ignoreSSL?: boolean): Promise<ApiResponse>;
113
+ /**
114
+ * ✅ MÉTODO PUT: Interface Nova Avançada
115
+ *
116
+ * @param request Objeto contendo URL e opções da requisição
117
+ * @param descricao Descrição da ação para logs e relatórios
118
+ * @param ignoreSSL Se true, ignora erros de certificado SSL
119
+ * @returns Promise<ApiResponse> - Resposta avançada com métodos especializados
120
+ */
121
+ static put(request: ApiRequest, descricao: string, ignoreSSL?: boolean): Promise<ApiResponse>;
122
+ /**
123
+ * ✅ MÉTODO PATCH: Interface Nova Avançada
124
+ *
125
+ * @param request Objeto contendo URL e opções da requisição
126
+ * @param descricao Descrição da ação para logs e relatórios
127
+ * @param ignoreSSL Se true, ignora erros de certificado SSL
128
+ * @returns Promise<ApiResponse> - Resposta avançada com métodos especializados
129
+ */
130
+ static patch(request: ApiRequest, descricao: string, ignoreSSL?: boolean): Promise<ApiResponse>;
131
+ /**
132
+ * ✅ MÉTODO DELETE: Interface Nova Avançada
133
+ *
134
+ * @param request Objeto contendo URL e opções da requisição
135
+ * @param descricao Descrição da ação para logs e relatórios
136
+ * @param ignoreSSL Se true, ignora erros de certificado SSL
137
+ * @returns Promise<ApiResponse> - Resposta avançada com métodos especializados
138
+ */
139
+ static delete(request: ApiRequest, descricao: string, ignoreSSL?: boolean): Promise<ApiResponse>;
140
+ /**
141
+ * ✅ COMPATIBILIDADE: Método especial para registrar duração
142
+ * @param nome Nome do teste
143
+ * @param duracao Duração em milissegundos
144
+ */
145
+ static registrarDuracaoDoTeste(nome: string, duracao: number): void;
146
+ /**
147
+ * Cria um objeto FormData para requisições multipart/form-data.
148
+ * @param fields Campos simples do formulário (chave/valor).
149
+ * @param files Arquivos para upload, onde o valor pode ser um Buffer ou caminho do arquivo.
150
+ * @returns Instância de FormData pronta para uso em requisições.
151
+ */
152
+ static createFormData(fields: Record<string, string>, files?: Record<string, Buffer | string>): any;
153
+ /**
154
+ * Cria um contexto de requisição Playwright com certificado de cliente.
155
+ * @param options Opções para configuração do contexto, incluindo caminhos de certificado, headers, timeout, etc.
156
+ * @returns Contexto de requisição configurado para autenticação mútua ou SSL customizado.
157
+ */
158
+ static prepareContextWithCert(options: {
159
+ origin: string;
160
+ certPath?: string;
161
+ keyPath?: string;
162
+ pfxPath?: string;
163
+ passphrase?: string;
164
+ ignoreHTTPSErrors?: boolean;
165
+ extraHTTPHeaders?: Record<string, string>;
166
+ timeout?: number;
167
+ userAgent?: string;
168
+ }): Promise<APIRequestContext>;
169
+ /**
170
+ * Centraliza execução de requisições HTTP, logs e métricas.
171
+ * @param method Método HTTP a ser executado (get, post, put, patch, delete).
172
+ * @param request Objeto contendo a URL e opções da requisição.
173
+ * @param descricao Descrição da requisição para logs e relatórios.
174
+ * @param ignoreSSL Se true, ignora erros de certificado SSL.
175
+ * @returns Resposta padronizada da API.
176
+ */
177
+ private static _request;
178
+ private static logTestResult;
179
+ /**
180
+ * Valida se dois valores são iguais.
181
+ * Registra sucesso ou falha nos logs e incrementa métricas.
182
+ * Lança erro se os valores não forem iguais.
183
+ * @param actual Valor atual obtido.
184
+ * @param expected Valor esperado.
185
+ * @param message Mensagem descritiva da validação.
186
+ * @throws {ValidationError} Se os valores não forem iguais.
187
+ */
188
+ static validateEquals(actual: unknown, expected: unknown, message: string): void;
189
+ /**
190
+ * Valida se um valor não é nulo ou undefined.
191
+ * Registra sucesso ou falha nos logs e incrementa métricas.
192
+ * Lança erro se o valor for nulo ou undefined.
193
+ * @param value Valor a ser validado.
194
+ * @param message Mensagem descritiva da validação.
195
+ * @throws {ValidationError} Se o valor for nulo ou undefined.
196
+ */
197
+ static validateNotNull(value: unknown, message: string): void;
198
+ private static maskSensitiveDataInBody;
199
+ /**
200
+ * 🎨 Formata e mascara corpo JSON para exibição legível
201
+ * @param body String contendo JSON ou texto
202
+ * @returns JSON formatado com indentação ou texto original
203
+ */
204
+ private static formatAndMaskBody;
205
+ /**
206
+ * 🔧 Normaliza URL removendo barras duplicadas na junção baseURL + endpoint
207
+ * @param baseURL URL base (pode terminar com /)
208
+ * @param endpoint Caminho do endpoint (pode começar com /)
209
+ * @returns URL completa sem barras duplicadas
210
+ */
211
+ private static normalizeUrl;
212
+ /**
213
+ * ✅ NOVO: Obtém o timeout do projeto Playwright ou usa padrão
214
+ */
215
+ private static tryParseJson;
216
+ /**
217
+ * ✅ NOVO: Método utilitário para resolver caminho do certificado
218
+ */
219
+ private static resolveCertPath;
220
+ /**
221
+ * ✅ NOVO: Executa uma tentativa específica da estratégia progressiva
222
+ */
223
+ private static tryProgressiveStrategy;
224
+ private static prepareContext;
225
+ /**
226
+ * ✅ ESTRATÉGIA FINAL: SSL Bypass completo para ambientes QA
227
+ * @param requestUrl URL da requisição (opcional)
228
+ * @returns Contexto com SSL completamente desabilitado
229
+ */
230
+ private static createSSLBypassContext;
231
+ /**
232
+ * ✅ NOVA ESTRATÉGIA 1: Usar P12 diretamente com clientCertificates (CORRIGIDO ESM)
233
+ * @param certificate Certificado P12
234
+ * @param requestUrl URL da requisição para determinar origem
235
+ * @returns Contexto configurado com certificado P12 direto
236
+ */
237
+ private static tryDirectP12Strategy;
238
+ /**
239
+ * ✅ NOVO: Extrai certificado e chave privada de arquivo P12/PKCS12 usando node-forge
240
+ * @param p12Path Caminho para o arquivo P12/PKCS12
241
+ * @param password Senha do arquivo P12 (opcional - deixar vazio se não tiver senha)
242
+ * @returns Objeto com certificado e chave privada em formato PEM
243
+ */
244
+ private static extractP12Certificate;
245
+ /**
246
+ * ✅ NOVO: Configura certificado P12 extraído com Playwright
247
+ * @param origin Origem do certificado (protocolo + host)
248
+ * @param certPath Caminho para arquivo P12
249
+ * @param password Senha do arquivo P12
250
+ * @returns Contexto configurado com certificado extraído
251
+ */
252
+ private static configureExtractedP12Certificate;
253
+ /**
254
+ * ✅ MELHORADO: Tentar configuração de certificado com estratégia P12 + fallback
255
+ */
256
+ private static tryClientCertificateConfig;
257
+ static getMetrics(): {
258
+ totalRequisicoes: number;
259
+ totalSuccesso: number;
260
+ totalFalhas: number;
261
+ foiUtilizado: boolean;
262
+ logsPerTest: Record<string, string[]>;
263
+ duracoes: {
264
+ nome: string;
265
+ duracao: number;
266
+ }[];
267
+ dadosGerais: typeof ApiActions.dadosGerais;
268
+ inicioExecucao: Date;
269
+ fimExecucao: Date;
270
+ };
271
+ static hasLogsForTest(testName: string): boolean;
272
+ static getLogsForTest(testName: string): string[];
273
+ static coletarDadosDoTeste(): Promise<void>;
274
+ /**
275
+ * ✅ Anexar resumo de logs
276
+ */
277
+ static anexarResumoDeLogs(): Promise<void>;
278
+ /**
279
+ * ✅ Anexar relatório final
280
+ */
281
+ static anexarRelatorioFinal(): Promise<void>;
282
+ /**
283
+ * Verifica se o header deve ser mascarado nos logs.
284
+ * @param key Nome do header.
285
+ * @returns true se deve mascarar, false caso contrário.
286
+ */
287
+ private static shouldMaskHeader;
288
+ /**
289
+ * Aguarda um tempo fixo em segundos.
290
+ * Útil para aguardar processamento assíncrono, propagação de dados,
291
+ * ou cooldown entre chamadas de API.
292
+ *
293
+ * @param segundos - Tempo de espera em segundos
294
+ * @param descricao - Descrição do motivo da espera (para logs)
295
+ */
296
+ static fixedWait(segundos: number, descricao?: string): Promise<void>;
297
+ }