@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.
- package/.github/copilot-instructions.md +520 -0
- package/biome.json +37 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.js +169 -0
- package/dist/scripts/consumer-postinstall.d.ts +15 -0
- package/dist/scripts/consumer-postinstall.js +785 -0
- package/dist/scripts/generate-docs.d.ts +16 -0
- package/dist/scripts/generate-docs.js +1363 -0
- package/dist/scripts/generate-index.d.ts +2 -0
- package/dist/scripts/generate-index.js +314 -0
- package/dist/scripts/init-api.d.ts +2 -0
- package/dist/scripts/init-api.js +525 -0
- package/dist/scripts/init-banco.d.ts +2 -0
- package/dist/scripts/init-banco.js +347 -0
- package/dist/scripts/init-frontend.d.ts +2 -0
- package/dist/scripts/init-frontend.js +627 -0
- package/dist/scripts/init-mobile.d.ts +2 -0
- package/dist/scripts/init-mobile.js +481 -0
- package/dist/scripts/init-scenarios.d.ts +2 -0
- package/dist/scripts/init-scenarios.js +846 -0
- package/dist/scripts/init-ssh.d.ts +2 -0
- package/dist/scripts/init-ssh.js +639 -0
- package/dist/scripts/package-versions.d.ts +57 -0
- package/dist/scripts/package-versions.js +768 -0
- package/dist/scripts/postinstall.d.ts +1 -0
- package/dist/scripts/postinstall.js +527 -0
- package/dist/scripts/robust-build.d.ts +7 -0
- package/dist/scripts/robust-build.js +88 -0
- package/dist/scripts/setup-local-packages.d.ts +31 -0
- package/dist/scripts/setup-local-packages.js +237 -0
- package/dist/scripts/smart-override.d.ts +2 -0
- package/dist/scripts/smart-override.js +1360 -0
- package/dist/scripts/sync-configs.d.ts +27 -0
- package/dist/scripts/sync-configs.js +248 -0
- package/dist/scripts/test-biome-parse.d.ts +5 -0
- package/dist/scripts/test-biome-parse.js +84 -0
- package/dist/scripts/ultracite-setup.d.ts +4 -0
- package/dist/scripts/ultracite-setup.js +310 -0
- package/dist/scripts/update-all-init-scripts.d.ts +2 -0
- package/dist/scripts/update-all-init-scripts.js +52 -0
- package/dist/scripts/update-biome-schema.d.ts +15 -0
- package/dist/scripts/update-biome-schema.js +124 -0
- package/dist/src/AutoCoreFacade.d.ts +145 -0
- package/dist/src/AutoCoreFacade.js +217 -0
- package/dist/src/api/ApiActions.d.ts +297 -0
- package/dist/src/api/ApiActions.js +1905 -0
- package/dist/src/api/Certificate.d.ts +60 -0
- package/dist/src/api/Certificate.js +79 -0
- package/dist/src/api/JsonResponse.d.ts +116 -0
- package/dist/src/api/JsonResponse.js +206 -0
- package/dist/src/appium/DeviceFarmViewer.d.ts +79 -0
- package/dist/src/appium/DeviceFarmViewer.js +1083 -0
- package/dist/src/appium/MobileActions.d.ts +347 -0
- package/dist/src/appium/MobileActions.js +1632 -0
- package/dist/src/appium/MobileConnection.d.ts +160 -0
- package/dist/src/appium/MobileConnection.js +772 -0
- package/dist/src/config/envLoader.d.ts +123 -0
- package/dist/src/config/envLoader.js +361 -0
- package/dist/src/config/jest-safe-setup.d.ts +19 -0
- package/dist/src/config/jest-safe-setup.js +369 -0
- package/dist/src/config/timeouts.d.ts +32 -0
- package/dist/src/config/timeouts.js +38 -0
- package/dist/src/desktop/DesktopActions.d.ts +46 -0
- package/dist/src/desktop/DesktopActions.js +398 -0
- package/dist/src/desktop/DesktopConnection.d.ts +32 -0
- package/dist/src/desktop/DesktopConnection.js +84 -0
- package/dist/src/domain/entities/TestExecution.d.ts +117 -0
- package/dist/src/domain/entities/TestExecution.js +150 -0
- package/dist/src/domain/entities/TestReport.d.ts +114 -0
- package/dist/src/domain/entities/TestReport.js +179 -0
- package/dist/src/domain/repositories/ITestRepository.d.ts +196 -0
- package/dist/src/domain/repositories/ITestRepository.js +14 -0
- package/dist/src/domain/schemas/ValidationSchemas.d.ts +159 -0
- package/dist/src/domain/schemas/ValidationSchemas.js +181 -0
- package/dist/src/functions/errors/BaseError.d.ts +78 -0
- package/dist/src/functions/errors/BaseError.js +245 -0
- package/dist/src/functions/errors/ConfigurationError.d.ts +16 -0
- package/dist/src/functions/errors/ConfigurationError.js +48 -0
- package/dist/src/functions/errors/ErrorCatalog.d.ts +148 -0
- package/dist/src/functions/errors/ErrorCatalog.js +157 -0
- package/dist/src/functions/errors/GlobalErrorHandler.d.ts +101 -0
- package/dist/src/functions/errors/GlobalErrorHandler.js +281 -0
- package/dist/src/functions/errors/IntegrationError.d.ts +17 -0
- package/dist/src/functions/errors/IntegrationError.js +51 -0
- package/dist/src/functions/errors/SecurityError.d.ts +14 -0
- package/dist/src/functions/errors/SecurityError.js +42 -0
- package/dist/src/functions/errors/SystemError.d.ts +12 -0
- package/dist/src/functions/errors/SystemError.js +36 -0
- package/dist/src/functions/errors/ValidationError.d.ts +14 -0
- package/dist/src/functions/errors/ValidationError.js +61 -0
- package/dist/src/functions/errors/index.d.ts +12 -0
- package/dist/src/functions/errors/index.js +13 -0
- package/dist/src/global-setup.d.ts +1 -0
- package/dist/src/global-setup.js +1037 -0
- package/dist/src/helpers/BancoActions.d.ts +188 -0
- package/dist/src/helpers/BancoActions.js +581 -0
- package/dist/src/helpers/EnviromentHelper.d.ts +17 -0
- package/dist/src/helpers/EnviromentHelper.js +66 -0
- package/dist/src/helpers/ParallelExecutionHelper.d.ts +183 -0
- package/dist/src/helpers/ParallelExecutionHelper.js +375 -0
- package/dist/src/helpers/SyncSignal.d.ts +15 -0
- package/dist/src/helpers/SyncSignal.js +44 -0
- package/dist/src/hubdocs/CategoryDetector.d.ts +83 -0
- package/dist/src/hubdocs/CategoryDetector.js +401 -0
- package/dist/src/hubdocs/DirectStatementInterceptor.d.ts +54 -0
- package/dist/src/hubdocs/DirectStatementInterceptor.js +243 -0
- package/dist/src/hubdocs/ExecutionTracker.d.ts +107 -0
- package/dist/src/hubdocs/ExecutionTracker.js +702 -0
- package/dist/src/hubdocs/HubDocs.d.ts +395 -0
- package/dist/src/hubdocs/HubDocs.js +3586 -0
- package/dist/src/hubdocs/StatementMethodFilter.d.ts +71 -0
- package/dist/src/hubdocs/StatementMethodFilter.js +618 -0
- package/dist/src/hubdocs/StatementTracker.d.ts +417 -0
- package/dist/src/hubdocs/StatementTracker.js +2419 -0
- package/dist/src/hubdocs/SwaggerGenerator.d.ts +59 -0
- package/dist/src/hubdocs/SwaggerGenerator.js +405 -0
- package/dist/src/hubdocs/index.d.ts +9 -0
- package/dist/src/hubdocs/index.js +9 -0
- package/dist/src/hubdocs/types.d.ts +114 -0
- package/dist/src/hubdocs/types.js +5 -0
- package/dist/src/infrastructure/DependencyContainer.d.ts +142 -0
- package/dist/src/infrastructure/DependencyContainer.js +250 -0
- package/dist/src/infrastructure/adapters/AppiumAdapter.d.ts +168 -0
- package/dist/src/infrastructure/adapters/AppiumAdapter.js +468 -0
- package/dist/src/infrastructure/adapters/OracleAdapter.d.ts +150 -0
- package/dist/src/infrastructure/adapters/OracleAdapter.js +388 -0
- package/dist/src/infrastructure/adapters/PlaywrightAdapter.d.ts +192 -0
- package/dist/src/infrastructure/adapters/PlaywrightAdapter.js +382 -0
- package/dist/src/infrastructure/adapters/SSHAdapter.d.ts +141 -0
- package/dist/src/infrastructure/adapters/SSHAdapter.js +428 -0
- package/dist/src/interfaces.d.ts +501 -0
- package/dist/src/interfaces.js +25 -0
- package/dist/src/internal/fakes/__fake-actions__.d.ts +17 -0
- package/dist/src/internal/fakes/__fake-actions__.js +21 -0
- package/dist/src/internal/fakes/__forbidden__.d.ts +10 -0
- package/dist/src/internal/fakes/__forbidden__.js +18 -0
- package/dist/src/internal/fakes/__honeypot__.d.ts +15 -0
- package/dist/src/internal/fakes/__honeypot__.js +24 -0
- package/dist/src/octane/OctaneReporter.d.ts +13 -0
- package/dist/src/octane/OctaneReporter.js +61 -0
- package/dist/src/playwright/CryptoActions.d.ts +20 -0
- package/dist/src/playwright/CryptoActions.js +75 -0
- package/dist/src/playwright/EnhancedWebActions.d.ts +7 -0
- package/dist/src/playwright/EnhancedWebActions.js +65 -0
- package/dist/src/playwright/WebActions.d.ts +1599 -0
- package/dist/src/playwright/WebActions.js +11788 -0
- package/dist/src/playwright/actions/ActionTimeline.d.ts +36 -0
- package/dist/src/playwright/actions/ActionTimeline.js +101 -0
- package/dist/src/playwright/actions/RecoveryQueue.d.ts +82 -0
- package/dist/src/playwright/actions/RecoveryQueue.js +130 -0
- package/dist/src/playwright/actions/SelectorCache.d.ts +53 -0
- package/dist/src/playwright/actions/SelectorCache.js +96 -0
- package/dist/src/playwright/actions/index.d.ts +13 -0
- package/dist/src/playwright/actions/index.js +14 -0
- package/dist/src/playwright/actions/types.d.ts +147 -0
- package/dist/src/playwright/actions/types.js +5 -0
- package/dist/src/playwright/fixtures.d.ts +112 -0
- package/dist/src/playwright/fixtures.js +718 -0
- package/dist/src/playwright/network-logs-reporter.d.ts +7 -0
- package/dist/src/playwright/network-logs-reporter.js +66 -0
- package/dist/src/playwright/registerRecoveryWrappers.d.ts +1 -0
- package/dist/src/playwright/registerRecoveryWrappers.js +54 -0
- package/dist/src/security/BuildSecurity.d.ts +12 -0
- package/dist/src/security/BuildSecurity.js +138 -0
- package/dist/src/security/EulaProtection.d.ts +70 -0
- package/dist/src/security/EulaProtection.js +155 -0
- package/dist/src/security/HoneypotManager.d.ts +46 -0
- package/dist/src/security/HoneypotManager.js +234 -0
- package/dist/src/security/KeysManager.d.ts +36 -0
- package/dist/src/security/KeysManager.js +158 -0
- package/dist/src/security/ProofOfWorkIntegration.d.ts +64 -0
- package/dist/src/security/ProofOfWorkIntegration.js +206 -0
- package/dist/src/security/SecurityValidation.d.ts +21 -0
- package/dist/src/security/SecurityValidation.js +163 -0
- package/dist/src/security/SourceMapProtection.d.ts +55 -0
- package/dist/src/security/SourceMapProtection.js +220 -0
- package/dist/src/security/protector.d.ts +1 -0
- package/dist/src/security/protector.js +97 -0
- package/dist/src/ssh/SSHActions.d.ts +262 -0
- package/dist/src/ssh/SSHActions.js +790 -0
- package/dist/src/ssh/SSHClient.d.ts +99 -0
- package/dist/src/ssh/SSHClient.js +409 -0
- package/dist/src/statements/BaseStatement.d.ts +38 -0
- package/dist/src/statements/BaseStatement.js +78 -0
- package/dist/src/testContext/AuthStateManager.d.ts +93 -0
- package/dist/src/testContext/AuthStateManager.js +256 -0
- package/dist/src/testContext/CoverageManager.d.ts +198 -0
- package/dist/src/testContext/CoverageManager.js +917 -0
- package/dist/src/testContext/TestAnnotations.d.ts +476 -0
- package/dist/src/testContext/TestAnnotations.js +2647 -0
- package/dist/src/testContext/TestContext.d.ts +138 -0
- package/dist/src/testContext/TestContext.js +369 -0
- package/dist/src/testContext/UnifiedHtmlGenerator.d.ts +7 -0
- package/dist/src/testContext/UnifiedHtmlGenerator.js +264 -0
- package/dist/src/testContext/UnifiedReportManager.d.ts +211 -0
- package/dist/src/testContext/UnifiedReportManager.js +1206 -0
- package/dist/src/testhub/DynamicConfigManager.d.ts +121 -0
- package/dist/src/testhub/DynamicConfigManager.js +320 -0
- package/dist/src/testhub/SystemsManager.d.ts +119 -0
- package/dist/src/testhub/SystemsManager.js +365 -0
- package/dist/src/testhub/TestHubClient.d.ts +335 -0
- package/dist/src/testhub/TestHubClient.js +1215 -0
- package/dist/src/testhub/TestHubReporter.d.ts +62 -0
- package/dist/src/testhub/TestHubReporter.js +576 -0
- package/dist/src/testhub/TestHubVars.d.ts +116 -0
- package/dist/src/testhub/TestHubVars.js +273 -0
- package/dist/src/utils/ActionInterceptor.d.ts +59 -0
- package/dist/src/utils/ActionInterceptor.js +741 -0
- package/dist/src/utils/ArtifactsCompressor.d.ts +43 -0
- package/dist/src/utils/ArtifactsCompressor.js +181 -0
- package/dist/src/utils/AutoLogsFinal.d.ts +47 -0
- package/dist/src/utils/AutoLogsFinal.js +148 -0
- package/dist/src/utils/CodeGenSession.d.ts +114 -0
- package/dist/src/utils/CodeGenSession.js +264 -0
- package/dist/src/utils/ConfigLogger.d.ts +133 -0
- package/dist/src/utils/ConfigLogger.js +611 -0
- package/dist/src/utils/CustomReporter.d.ts +22 -0
- package/dist/src/utils/CustomReporter.js +352 -0
- package/dist/src/utils/DataStore.d.ts +171 -0
- package/dist/src/utils/DataStore.js +484 -0
- package/dist/src/utils/DatabaseInterceptor.d.ts +19 -0
- package/dist/src/utils/DatabaseInterceptor.js +295 -0
- package/dist/src/utils/DateHelper.d.ts +16 -0
- package/dist/src/utils/DateHelper.js +120 -0
- package/dist/src/utils/DateValidator.d.ts +4 -0
- package/dist/src/utils/DateValidator.js +51 -0
- package/dist/src/utils/DocumentGenerator.d.ts +35 -0
- package/dist/src/utils/DocumentGenerator.js +129 -0
- package/dist/src/utils/EvidenceCapture.d.ts +90 -0
- package/dist/src/utils/EvidenceCapture.js +600 -0
- package/dist/src/utils/EvidenceReportGenerator.d.ts +70 -0
- package/dist/src/utils/EvidenceReportGenerator.js +799 -0
- package/dist/src/utils/FrameManagementUtil.d.ts +42 -0
- package/dist/src/utils/FrameManagementUtil.js +75 -0
- package/dist/src/utils/GlobalStatementsInterceptor.d.ts +1 -0
- package/dist/src/utils/GlobalStatementsInterceptor.js +1 -0
- package/dist/src/utils/HTMLTemplate.d.ts +1 -0
- package/dist/src/utils/HTMLTemplate.js +1034 -0
- package/dist/src/utils/InterceptacaoMagica.d.ts +23 -0
- package/dist/src/utils/InterceptacaoMagica.js +365 -0
- package/dist/src/utils/LogSanitizer.d.ts +35 -0
- package/dist/src/utils/LogSanitizer.js +110 -0
- package/dist/src/utils/Logger.d.ts +65 -0
- package/dist/src/utils/Logger.js +284 -0
- package/dist/src/utils/McpLocalClient.d.ts +141 -0
- package/dist/src/utils/McpLocalClient.js +871 -0
- package/dist/src/utils/PDFEvidenceGenerator.d.ts +20 -0
- package/dist/src/utils/PDFEvidenceGenerator.js +156 -0
- package/dist/src/utils/SpecFileAnalyzer.d.ts +35 -0
- package/dist/src/utils/SpecFileAnalyzer.js +209 -0
- package/dist/src/utils/StatementInterceptor.d.ts +18 -0
- package/dist/src/utils/StatementInterceptor.js +87 -0
- package/dist/src/utils/StatementLogger.d.ts +33 -0
- package/dist/src/utils/StatementLogger.js +113 -0
- package/dist/src/utils/StatementsInterceptor.d.ts +1 -0
- package/dist/src/utils/StatementsInterceptor.js +1 -0
- package/dist/src/utils/TeamsFlushHook.d.ts +17 -0
- package/dist/src/utils/TeamsFlushHook.js +168 -0
- package/dist/src/utils/TerminalLogCapture.d.ts +158 -0
- package/dist/src/utils/TerminalLogCapture.js +531 -0
- package/dist/src/utils/TestMethodLogger.d.ts +70 -0
- package/dist/src/utils/TestMethodLogger.js +95 -0
- package/dist/src/utils/UnifiedTeardown.d.ts +4 -0
- package/dist/src/utils/UnifiedTeardown.js +400 -0
- package/dist/src/utils/XPathCatalog.d.ts +152 -0
- package/dist/src/utils/XPathCatalog.js +350 -0
- package/dist/src/utils/generators.d.ts +90 -0
- package/dist/src/utils/generators.js +167 -0
- package/dist/src/utils/testRecovery/ResilientPlaywright.d.ts +152 -0
- package/dist/src/utils/testRecovery/ResilientPlaywright.js +715 -0
- package/dist/src/utils/testRecovery/TestRecoveryClient.d.ts +801 -0
- package/dist/src/utils/testRecovery/TestRecoveryClient.js +1415 -0
- package/dist/src/utils/testRecovery/autoFixCode.d.ts +65 -0
- package/dist/src/utils/testRecovery/autoFixCode.js +32 -0
- package/dist/vitest.config.d.ts +2 -0
- package/dist/vitest.config.js +59 -0
- package/dist/wdio.conf.d.ts +1 -0
- package/dist/wdio.conf.js +420 -0
- package/package.json +137 -0
- package/protect-loader.mjs +643 -0
- package/scripts/consumer-postinstall.ts +975 -0
- package/scripts/generate-index.ts +343 -0
- package/scripts/init-api.ts +613 -0
- package/scripts/init-banco.ts +437 -0
- package/scripts/init-frontend.ts +727 -0
- package/scripts/init-mobile.ts +558 -0
- package/scripts/init-scenarios.ts +925 -0
- package/scripts/init-ssh.ts +734 -0
- package/scripts/package-versions.ts +978 -0
- package/scripts/postinstall.ts +605 -0
- package/scripts/smart-override.ts +1675 -0
- package/scripts/sync-configs.ts +302 -0
- package/scripts/ultracite-setup.ts +370 -0
- package/src/types/globals.d.ts +48 -0
- package/tsconfig.json +29 -0
- 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
|
+
}
|