api-tests-coverage 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/README.md +703 -0
- package/config.yaml.example +227 -0
- package/dist/action/src/index.d.ts +2 -0
- package/dist/action/src/index.d.ts.map +1 -0
- package/dist/action/src/index.js +349 -0
- package/dist/action/src/prComment.d.ts +34 -0
- package/dist/action/src/prComment.d.ts.map +1 -0
- package/dist/action/src/prComment.js +146 -0
- package/dist/src/ast/astAnalysisOrchestrator.d.ts +36 -0
- package/dist/src/ast/astAnalysisOrchestrator.d.ts.map +1 -0
- package/dist/src/ast/astAnalysisOrchestrator.js +123 -0
- package/dist/src/ast/astTypes.d.ts +105 -0
- package/dist/src/ast/astTypes.d.ts.map +1 -0
- package/dist/src/ast/astTypes.js +9 -0
- package/dist/src/ast/languageAnalyzer.d.ts +46 -0
- package/dist/src/ast/languageAnalyzer.d.ts.map +1 -0
- package/dist/src/ast/languageAnalyzer.js +9 -0
- package/dist/src/ast/languageCapabilities.d.ts +24 -0
- package/dist/src/ast/languageCapabilities.d.ts.map +1 -0
- package/dist/src/ast/languageCapabilities.js +92 -0
- package/dist/src/ast/parseFile.d.ts +16 -0
- package/dist/src/ast/parseFile.d.ts.map +1 -0
- package/dist/src/ast/parseFile.js +65 -0
- package/dist/src/ast/parserRegistry.d.ts +39 -0
- package/dist/src/ast/parserRegistry.d.ts.map +1 -0
- package/dist/src/ast/parserRegistry.js +66 -0
- package/dist/src/buildSummary.d.ts +26 -0
- package/dist/src/buildSummary.d.ts.map +1 -0
- package/dist/src/buildSummary.js +193 -0
- package/dist/src/businessCoverage.d.ts +68 -0
- package/dist/src/businessCoverage.d.ts.map +1 -0
- package/dist/src/businessCoverage.js +290 -0
- package/dist/src/compatibilityCoverage.d.ts +83 -0
- package/dist/src/compatibilityCoverage.d.ts.map +1 -0
- package/dist/src/compatibilityCoverage.js +501 -0
- package/dist/src/config/defaultConfig.d.ts +9 -0
- package/dist/src/config/defaultConfig.d.ts.map +1 -0
- package/dist/src/config/defaultConfig.js +97 -0
- package/dist/src/config/index.d.ts +12 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +37 -0
- package/dist/src/config/loadConfig.d.ts +29 -0
- package/dist/src/config/loadConfig.d.ts.map +1 -0
- package/dist/src/config/loadConfig.js +135 -0
- package/dist/src/config/mergeConfig.d.ts +15 -0
- package/dist/src/config/mergeConfig.d.ts.map +1 -0
- package/dist/src/config/mergeConfig.js +57 -0
- package/dist/src/config/schema.d.ts +15 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +30 -0
- package/dist/src/config/types.d.ts +175 -0
- package/dist/src/config/types.d.ts.map +1 -0
- package/dist/src/config/types.js +9 -0
- package/dist/src/config/validateConfig.d.ts +22 -0
- package/dist/src/config/validateConfig.d.ts.map +1 -0
- package/dist/src/config/validateConfig.js +171 -0
- package/dist/src/config.d.ts +168 -0
- package/dist/src/config.d.ts.map +1 -0
- package/dist/src/config.js +204 -0
- package/dist/src/coverage/deep-analysis/callGraph.d.ts +67 -0
- package/dist/src/coverage/deep-analysis/callGraph.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/callGraph.js +275 -0
- package/dist/src/coverage/deep-analysis/deepEndpointResolver.d.ts +23 -0
- package/dist/src/coverage/deep-analysis/deepEndpointResolver.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/deepEndpointResolver.js +394 -0
- package/dist/src/coverage/deep-analysis/index.d.ts +17 -0
- package/dist/src/coverage/deep-analysis/index.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/index.js +63 -0
- package/dist/src/coverage/deep-analysis/resolveAssertions.d.ts +60 -0
- package/dist/src/coverage/deep-analysis/resolveAssertions.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolveAssertions.js +121 -0
- package/dist/src/coverage/deep-analysis/resolveConstants.d.ts +36 -0
- package/dist/src/coverage/deep-analysis/resolveConstants.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolveConstants.js +92 -0
- package/dist/src/coverage/deep-analysis/resolveEnums.d.ts +55 -0
- package/dist/src/coverage/deep-analysis/resolveEnums.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolveEnums.js +152 -0
- package/dist/src/coverage/deep-analysis/resolveMethodChains.d.ts +70 -0
- package/dist/src/coverage/deep-analysis/resolveMethodChains.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolveMethodChains.js +152 -0
- package/dist/src/coverage/deep-analysis/resolvePaths.d.ts +80 -0
- package/dist/src/coverage/deep-analysis/resolvePaths.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolvePaths.js +216 -0
- package/dist/src/coverage/deep-analysis/resolveRequestWrappers.d.ts +71 -0
- package/dist/src/coverage/deep-analysis/resolveRequestWrappers.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/resolveRequestWrappers.js +226 -0
- package/dist/src/coverage/deep-analysis/symbolTable.d.ts +58 -0
- package/dist/src/coverage/deep-analysis/symbolTable.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/symbolTable.js +230 -0
- package/dist/src/coverage/deep-analysis/types.d.ts +122 -0
- package/dist/src/coverage/deep-analysis/types.d.ts.map +1 -0
- package/dist/src/coverage/deep-analysis/types.js +21 -0
- package/dist/src/discovery/fileClassifier.d.ts +50 -0
- package/dist/src/discovery/fileClassifier.d.ts.map +1 -0
- package/dist/src/discovery/fileClassifier.js +238 -0
- package/dist/src/discovery/projectDiscovery.d.ts +66 -0
- package/dist/src/discovery/projectDiscovery.d.ts.map +1 -0
- package/dist/src/discovery/projectDiscovery.js +287 -0
- package/dist/src/endpointCoverage.d.ts +70 -0
- package/dist/src/endpointCoverage.d.ts.map +1 -0
- package/dist/src/endpointCoverage.js +381 -0
- package/dist/src/errorCoverage.d.ts +93 -0
- package/dist/src/errorCoverage.d.ts.map +1 -0
- package/dist/src/errorCoverage.js +698 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +1441 -0
- package/dist/src/inference/businessRuleInference.d.ts +63 -0
- package/dist/src/inference/businessRuleInference.d.ts.map +1 -0
- package/dist/src/inference/businessRuleInference.js +268 -0
- package/dist/src/inference/integrationFlowInference.d.ts +56 -0
- package/dist/src/inference/integrationFlowInference.d.ts.map +1 -0
- package/dist/src/inference/integrationFlowInference.js +266 -0
- package/dist/src/integrationCoverage.d.ts +72 -0
- package/dist/src/integrationCoverage.d.ts.map +1 -0
- package/dist/src/integrationCoverage.js +317 -0
- package/dist/src/intelligence/index.d.ts +20 -0
- package/dist/src/intelligence/index.d.ts.map +1 -0
- package/dist/src/intelligence/index.js +105 -0
- package/dist/src/intelligence/linkageEngine.d.ts +20 -0
- package/dist/src/intelligence/linkageEngine.d.ts.map +1 -0
- package/dist/src/intelligence/linkageEngine.js +522 -0
- package/dist/src/intelligence/markdownReporter.d.ts +12 -0
- package/dist/src/intelligence/markdownReporter.d.ts.map +1 -0
- package/dist/src/intelligence/markdownReporter.js +265 -0
- package/dist/src/intelligence/riskScoring.d.ts +53 -0
- package/dist/src/intelligence/riskScoring.d.ts.map +1 -0
- package/dist/src/intelligence/riskScoring.js +181 -0
- package/dist/src/intelligence/types.d.ts +121 -0
- package/dist/src/intelligence/types.d.ts.map +1 -0
- package/dist/src/intelligence/types.js +8 -0
- package/dist/src/languageDetection.d.ts +100 -0
- package/dist/src/languageDetection.d.ts.map +1 -0
- package/dist/src/languageDetection.js +349 -0
- package/dist/src/languages/java/index.d.ts +16 -0
- package/dist/src/languages/java/index.d.ts.map +1 -0
- package/dist/src/languages/java/index.js +103 -0
- package/dist/src/languages/java/parser.d.ts +7 -0
- package/dist/src/languages/java/parser.d.ts.map +1 -0
- package/dist/src/languages/java/parser.js +50 -0
- package/dist/src/languages/java/semanticBuilder.d.ts +21 -0
- package/dist/src/languages/java/semanticBuilder.d.ts.map +1 -0
- package/dist/src/languages/java/semanticBuilder.js +358 -0
- package/dist/src/languages/javascript/annotationExtractor.d.ts +20 -0
- package/dist/src/languages/javascript/annotationExtractor.d.ts.map +1 -0
- package/dist/src/languages/javascript/annotationExtractor.js +94 -0
- package/dist/src/languages/javascript/assertionResolver.d.ts +18 -0
- package/dist/src/languages/javascript/assertionResolver.d.ts.map +1 -0
- package/dist/src/languages/javascript/assertionResolver.js +150 -0
- package/dist/src/languages/javascript/callResolver.d.ts +23 -0
- package/dist/src/languages/javascript/callResolver.d.ts.map +1 -0
- package/dist/src/languages/javascript/callResolver.js +236 -0
- package/dist/src/languages/javascript/httpInteractionExtractor.d.ts +23 -0
- package/dist/src/languages/javascript/httpInteractionExtractor.d.ts.map +1 -0
- package/dist/src/languages/javascript/httpInteractionExtractor.js +205 -0
- package/dist/src/languages/javascript/index.d.ts +20 -0
- package/dist/src/languages/javascript/index.d.ts.map +1 -0
- package/dist/src/languages/javascript/index.js +136 -0
- package/dist/src/languages/javascript/parser.d.ts +14 -0
- package/dist/src/languages/javascript/parser.d.ts.map +1 -0
- package/dist/src/languages/javascript/parser.js +38 -0
- package/dist/src/languages/javascript/symbolResolver.d.ts +31 -0
- package/dist/src/languages/javascript/symbolResolver.d.ts.map +1 -0
- package/dist/src/languages/javascript/symbolResolver.js +183 -0
- package/dist/src/languages/kotlin/index.d.ts +16 -0
- package/dist/src/languages/kotlin/index.d.ts.map +1 -0
- package/dist/src/languages/kotlin/index.js +151 -0
- package/dist/src/languages/kotlin/parser.d.ts +11 -0
- package/dist/src/languages/kotlin/parser.d.ts.map +1 -0
- package/dist/src/languages/kotlin/parser.js +74 -0
- package/dist/src/languages/python/index.d.ts +15 -0
- package/dist/src/languages/python/index.d.ts.map +1 -0
- package/dist/src/languages/python/index.js +293 -0
- package/dist/src/languages/ruby/index.d.ts +15 -0
- package/dist/src/languages/ruby/index.d.ts.map +1 -0
- package/dist/src/languages/ruby/index.js +274 -0
- package/dist/src/languages/shared/treeSitterUtils.d.ts +43 -0
- package/dist/src/languages/shared/treeSitterUtils.d.ts.map +1 -0
- package/dist/src/languages/shared/treeSitterUtils.js +100 -0
- package/dist/src/languages/typescript/index.d.ts +14 -0
- package/dist/src/languages/typescript/index.d.ts.map +1 -0
- package/dist/src/languages/typescript/index.js +25 -0
- package/dist/src/lib/index.d.ts +228 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +486 -0
- package/dist/src/mcp/client/index.d.ts +37 -0
- package/dist/src/mcp/client/index.d.ts.map +1 -0
- package/dist/src/mcp/client/index.js +235 -0
- package/dist/src/mcp/config.d.ts +50 -0
- package/dist/src/mcp/config.d.ts.map +1 -0
- package/dist/src/mcp/config.js +125 -0
- package/dist/src/mcp/events.d.ts +24 -0
- package/dist/src/mcp/events.d.ts.map +1 -0
- package/dist/src/mcp/events.js +48 -0
- package/dist/src/mcp/fallback/index.d.ts +50 -0
- package/dist/src/mcp/fallback/index.d.ts.map +1 -0
- package/dist/src/mcp/fallback/index.js +216 -0
- package/dist/src/mcp/index.d.ts +67 -0
- package/dist/src/mcp/index.d.ts.map +1 -0
- package/dist/src/mcp/index.js +212 -0
- package/dist/src/mcp/normalizer.d.ts +21 -0
- package/dist/src/mcp/normalizer.d.ts.map +1 -0
- package/dist/src/mcp/normalizer.js +99 -0
- package/dist/src/mcp/prompts/index.d.ts +86 -0
- package/dist/src/mcp/prompts/index.d.ts.map +1 -0
- package/dist/src/mcp/prompts/index.js +304 -0
- package/dist/src/mcp/templates/index.d.ts +35 -0
- package/dist/src/mcp/templates/index.d.ts.map +1 -0
- package/dist/src/mcp/templates/index.js +143 -0
- package/dist/src/mcp/testing/mock-server/index.d.ts +47 -0
- package/dist/src/mcp/testing/mock-server/index.d.ts.map +1 -0
- package/dist/src/mcp/testing/mock-server/index.js +157 -0
- package/dist/src/mcp/types.d.ts +127 -0
- package/dist/src/mcp/types.d.ts.map +1 -0
- package/dist/src/mcp/types.js +8 -0
- package/dist/src/observability.d.ts +138 -0
- package/dist/src/observability.d.ts.map +1 -0
- package/dist/src/observability.js +519 -0
- package/dist/src/parameterCoverage.d.ts +75 -0
- package/dist/src/parameterCoverage.d.ts.map +1 -0
- package/dist/src/parameterCoverage.js +629 -0
- package/dist/src/perfResilienceCoverage.d.ts +155 -0
- package/dist/src/perfResilienceCoverage.d.ts.map +1 -0
- package/dist/src/perfResilienceCoverage.js +670 -0
- package/dist/src/pluginLoader.d.ts +51 -0
- package/dist/src/pluginLoader.d.ts.map +1 -0
- package/dist/src/pluginLoader.js +72 -0
- package/dist/src/publishing.d.ts +63 -0
- package/dist/src/publishing.d.ts.map +1 -0
- package/dist/src/publishing.js +379 -0
- package/dist/src/qualityGate.d.ts +58 -0
- package/dist/src/qualityGate.d.ts.map +1 -0
- package/dist/src/qualityGate.js +118 -0
- package/dist/src/reporting.d.ts +41 -0
- package/dist/src/reporting.d.ts.map +1 -0
- package/dist/src/reporting.js +278 -0
- package/dist/src/screenshots.d.ts +71 -0
- package/dist/src/screenshots.d.ts.map +1 -0
- package/dist/src/screenshots.js +141 -0
- package/dist/src/security/gate/index.d.ts +11 -0
- package/dist/src/security/gate/index.d.ts.map +1 -0
- package/dist/src/security/gate/index.js +65 -0
- package/dist/src/security/index.d.ts +30 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +342 -0
- package/dist/src/security/normalizers/semgrep.d.ts +10 -0
- package/dist/src/security/normalizers/semgrep.d.ts.map +1 -0
- package/dist/src/security/normalizers/semgrep.js +104 -0
- package/dist/src/security/normalizers/trivy.d.ts +10 -0
- package/dist/src/security/normalizers/trivy.d.ts.map +1 -0
- package/dist/src/security/normalizers/trivy.js +78 -0
- package/dist/src/security/normalizers/zap.d.ts +10 -0
- package/dist/src/security/normalizers/zap.d.ts.map +1 -0
- package/dist/src/security/normalizers/zap.js +104 -0
- package/dist/src/security/scanners/semgrep.d.ts +6 -0
- package/dist/src/security/scanners/semgrep.d.ts.map +1 -0
- package/dist/src/security/scanners/semgrep.js +125 -0
- package/dist/src/security/scanners/trivy.d.ts +6 -0
- package/dist/src/security/scanners/trivy.d.ts.map +1 -0
- package/dist/src/security/scanners/trivy.js +115 -0
- package/dist/src/security/scanners/zap.d.ts +6 -0
- package/dist/src/security/scanners/zap.d.ts.map +1 -0
- package/dist/src/security/scanners/zap.js +135 -0
- package/dist/src/security/types.d.ts +146 -0
- package/dist/src/security/types.d.ts.map +1 -0
- package/dist/src/security/types.js +6 -0
- package/dist/src/securityCoverage.d.ts +116 -0
- package/dist/src/securityCoverage.d.ts.map +1 -0
- package/dist/src/securityCoverage.js +725 -0
- package/dist/src/summary/buildSummary.d.ts +28 -0
- package/dist/src/summary/buildSummary.d.ts.map +1 -0
- package/dist/src/summary/buildSummary.js +257 -0
- package/dist/src/summary/evaluateMetrics.d.ts +31 -0
- package/dist/src/summary/evaluateMetrics.d.ts.map +1 -0
- package/dist/src/summary/evaluateMetrics.js +118 -0
- package/dist/src/summary/index.d.ts +10 -0
- package/dist/src/summary/index.d.ts.map +1 -0
- package/dist/src/summary/index.js +22 -0
- package/dist/src/summary/markdownRenderer.d.ts +139 -0
- package/dist/src/summary/markdownRenderer.d.ts.map +1 -0
- package/dist/src/summary/markdownRenderer.js +459 -0
- package/dist/src/summary/prSummary.d.ts +24 -0
- package/dist/src/summary/prSummary.d.ts.map +1 -0
- package/dist/src/summary/prSummary.js +233 -0
- package/dist/src/summary/summaryTypes.d.ts +35 -0
- package/dist/src/summary/summaryTypes.d.ts.map +1 -0
- package/dist/src/summary/summaryTypes.js +27 -0
- package/package.json +84 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
export type ResilienceCategory = 'timeout' | 'retry' | 'circuit-breaker' | 'fallback' | 'rate-limiting' | 'bulkhead';
|
|
2
|
+
export declare const RESILIENCE_CATEGORIES: ResilienceCategory[];
|
|
3
|
+
/** An API endpoint derived from the OpenAPI spec */
|
|
4
|
+
export interface PerformanceEndpoint {
|
|
5
|
+
/** Unique identifier, e.g. "GET /users" */
|
|
6
|
+
id: string;
|
|
7
|
+
method: string;
|
|
8
|
+
path: string;
|
|
9
|
+
}
|
|
10
|
+
/** Thresholds used to evaluate load-test metrics */
|
|
11
|
+
export interface PerformanceThresholds {
|
|
12
|
+
/** Maximum acceptable median response time in ms (default: 500) */
|
|
13
|
+
responseMs: number;
|
|
14
|
+
/** Maximum acceptable error rate as a fraction 0–1 (default: 0.05) */
|
|
15
|
+
errorRate: number;
|
|
16
|
+
}
|
|
17
|
+
/** Parsed metrics for a single endpoint from a load-test result file */
|
|
18
|
+
export interface LoadTestMetrics {
|
|
19
|
+
/** Endpoint identifier (matches PerformanceEndpoint.id or a label) */
|
|
20
|
+
endpoint: string;
|
|
21
|
+
/** Number of requests sampled */
|
|
22
|
+
sampleCount: number;
|
|
23
|
+
/** Average response time in ms */
|
|
24
|
+
avg: number;
|
|
25
|
+
/** Median (P50) response time in ms */
|
|
26
|
+
median: number;
|
|
27
|
+
/** 95th-percentile response time in ms */
|
|
28
|
+
p95: number;
|
|
29
|
+
/** 99th-percentile response time in ms */
|
|
30
|
+
p99: number;
|
|
31
|
+
/** Error rate (0–1) */
|
|
32
|
+
errorRate: number;
|
|
33
|
+
/** Requests per second */
|
|
34
|
+
throughput: number;
|
|
35
|
+
}
|
|
36
|
+
/** Performance coverage result for one endpoint */
|
|
37
|
+
export interface PerformanceCoverage {
|
|
38
|
+
endpoint: PerformanceEndpoint;
|
|
39
|
+
/** True when at least one load-test result was found for this endpoint */
|
|
40
|
+
hasLoadTestData: boolean;
|
|
41
|
+
metrics?: LoadTestMetrics;
|
|
42
|
+
/** Whether the median response time is within the threshold */
|
|
43
|
+
meetsResponseTime: boolean;
|
|
44
|
+
/** Whether the error rate is within the threshold */
|
|
45
|
+
meetsErrorRate: boolean;
|
|
46
|
+
/** Overall status */
|
|
47
|
+
status: 'good' | 'needs-improvement' | 'missing-data';
|
|
48
|
+
}
|
|
49
|
+
/** A single resilience scenario (e.g. timeout handling for GET /users) */
|
|
50
|
+
export interface ResilienceScenario {
|
|
51
|
+
/** Unique identifier, e.g. "timeout:GET /users" */
|
|
52
|
+
id: string;
|
|
53
|
+
category: ResilienceCategory;
|
|
54
|
+
description: string;
|
|
55
|
+
/** Associated endpoint, if scenario is endpoint-specific */
|
|
56
|
+
endpoint?: PerformanceEndpoint;
|
|
57
|
+
}
|
|
58
|
+
/** Coverage result for one resilience scenario */
|
|
59
|
+
export interface ResilienceScenarioCoverage {
|
|
60
|
+
scenario: ResilienceScenario;
|
|
61
|
+
covered: boolean;
|
|
62
|
+
/** Test description strings that matched this scenario */
|
|
63
|
+
matchedTests: string[];
|
|
64
|
+
}
|
|
65
|
+
export interface ResilienceCategorySummary {
|
|
66
|
+
total: number;
|
|
67
|
+
covered: number;
|
|
68
|
+
}
|
|
69
|
+
/** Full performance and resilience coverage report */
|
|
70
|
+
export interface PerfResilienceReport {
|
|
71
|
+
totalEndpoints: number;
|
|
72
|
+
endpointsWithLoadData: number;
|
|
73
|
+
performanceCoveragePercent: number;
|
|
74
|
+
performanceCoverages: PerformanceCoverage[];
|
|
75
|
+
totalResilienceScenarios: number;
|
|
76
|
+
coveredResilienceScenarios: number;
|
|
77
|
+
resilienceCoveragePercent: number;
|
|
78
|
+
resilienceCoverages: ResilienceScenarioCoverage[];
|
|
79
|
+
resilienceCategorySummary: Record<ResilienceCategory, ResilienceCategorySummary>;
|
|
80
|
+
}
|
|
81
|
+
/** Keywords used to detect resilience tests in test descriptions */
|
|
82
|
+
export declare const RESILIENCE_KEYWORDS: Record<ResilienceCategory, string[]>;
|
|
83
|
+
/**
|
|
84
|
+
* Parse an OpenAPI/Swagger spec and return a flat list of endpoints.
|
|
85
|
+
*/
|
|
86
|
+
export declare function parseEndpointsFromSpec(specPath: string): Promise<PerformanceEndpoint[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Parse one or more load-test result files.
|
|
89
|
+
* Supported formats:
|
|
90
|
+
* - JMeter .jtl / .csv (comma-separated with standard JMeter headers)
|
|
91
|
+
* - k6 JSON summary (`{ "metrics": { "http_req_duration": { "values": { ... } } } }`)
|
|
92
|
+
*
|
|
93
|
+
* Returns a map from endpoint label → LoadTestMetrics.
|
|
94
|
+
*/
|
|
95
|
+
export declare function parseLoadTestResults(filePaths: string[]): Map<string, LoadTestMetrics>;
|
|
96
|
+
/**
|
|
97
|
+
* Parse a JMeter .jtl / .csv file.
|
|
98
|
+
*
|
|
99
|
+
* Expected header (standard JMeter format):
|
|
100
|
+
* timeStamp,elapsed,label,responseCode,success,bytes,sentBytes,grpThreads,allThreads,Latency,Connect
|
|
101
|
+
*
|
|
102
|
+
* Returns a map of label → aggregated LoadTestMetrics.
|
|
103
|
+
*/
|
|
104
|
+
export declare function parseJMeterCsv(csvContent: string): Map<string, LoadTestMetrics>;
|
|
105
|
+
/**
|
|
106
|
+
* Parse a k6 JSON summary file.
|
|
107
|
+
*
|
|
108
|
+
* Supports both the top-level summary format:
|
|
109
|
+
* `{ "metrics": { "http_req_duration": { "values": { "avg", "med", "p(95)", "p(99)" } } } }`
|
|
110
|
+
* and a per-URL breakdown when present in `scenarios` or `groups` keys.
|
|
111
|
+
*/
|
|
112
|
+
export declare function parseK6Json(jsonContent: string): Map<string, LoadTestMetrics>;
|
|
113
|
+
/**
|
|
114
|
+
* Build the list of resilience scenarios to check.
|
|
115
|
+
*
|
|
116
|
+
* For each endpoint we create one scenario per resilience category.
|
|
117
|
+
* This gives a measurable and exhaustive checklist.
|
|
118
|
+
*/
|
|
119
|
+
export declare function buildResilienceScenarios(endpoints: PerformanceEndpoint[]): ResilienceScenario[];
|
|
120
|
+
export interface TestEntry {
|
|
121
|
+
description: string;
|
|
122
|
+
filePath: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Read test files matching a glob and extract test descriptions.
|
|
126
|
+
* Recognises Jest/Mocha-style `test(`, `it(`, and `describe(` calls.
|
|
127
|
+
*/
|
|
128
|
+
export declare function collectTestEntries(testsGlob: string): Promise<TestEntry[]>;
|
|
129
|
+
/**
|
|
130
|
+
* Determine whether a test entry covers a given resilience scenario.
|
|
131
|
+
*
|
|
132
|
+
* Matching rules (applied to test description only):
|
|
133
|
+
* 1. Explicit `@resilience <scenarioId>` annotation
|
|
134
|
+
* 2. Category keywords AND (endpoint path or method in description)
|
|
135
|
+
* 3. Category keywords alone (for global/category-level coverage)
|
|
136
|
+
*/
|
|
137
|
+
export declare function testCoversScenario(entry: TestEntry, scenario: ResilienceScenario): boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Analyse test files and return coverage for each resilience scenario.
|
|
140
|
+
*/
|
|
141
|
+
export declare function analyzeResilienceCoverage(scenarios: ResilienceScenario[], testsGlob: string): Promise<ResilienceScenarioCoverage[]>;
|
|
142
|
+
/**
|
|
143
|
+
* Compute performance coverage for each endpoint.
|
|
144
|
+
*/
|
|
145
|
+
export declare function analyzePerformanceCoverage(endpoints: PerformanceEndpoint[], metricsMap: Map<string, LoadTestMetrics>, thresholds: PerformanceThresholds): PerformanceCoverage[];
|
|
146
|
+
/**
|
|
147
|
+
* Assemble the full PerfResilienceReport from individual coverage lists.
|
|
148
|
+
*/
|
|
149
|
+
export declare function buildPerfResilienceReport(performanceCoverages: PerformanceCoverage[], resilienceCoverages: ResilienceScenarioCoverage[]): PerfResilienceReport;
|
|
150
|
+
/**
|
|
151
|
+
* Write `reports/perf-resilience-coverage.json` and
|
|
152
|
+
* `reports/perf-resilience-coverage.html` to `reportsDir`.
|
|
153
|
+
*/
|
|
154
|
+
export declare function generatePerfResilienceReports(report: PerfResilienceReport, reportsDir: string): void;
|
|
155
|
+
//# sourceMappingURL=perfResilienceCoverage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"perfResilienceCoverage.d.ts","sourceRoot":"","sources":["../../src/perfResilienceCoverage.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,OAAO,GACP,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,UAAU,CAAC;AAEf,eAAO,MAAM,qBAAqB,EAAE,kBAAkB,EAOrD,CAAC;AAEF,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,oDAAoD;AACpD,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wEAAwE;AACxE,MAAM,WAAW,eAAe;IAC9B,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mDAAmD;AACnD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,0EAA0E;IAC1E,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,+DAA+D;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qDAAqD;IACrD,cAAc,EAAE,OAAO,CAAC;IACxB,qBAAqB;IACrB,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,cAAc,CAAC;CACvD;AAED,0EAA0E;AAC1E,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,kDAAkD;AAClD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sDAAsD;AACtD,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0BAA0B,EAAE,MAAM,CAAC;IACnC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,wBAAwB,EAAE,MAAM,CAAC;IACjC,0BAA0B,EAAE,MAAM,CAAC;IACnC,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,0BAA0B,EAAE,CAAC;IAClD,yBAAyB,EAAE,MAAM,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,CAAC;CAClF;AAID,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,EAAE,CA0BpE,CAAC;AAMF;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAe7F;AAID;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAsBtF;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAqC/E;AAID;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CA6E7E;AAsDD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,mBAAmB,EAAE,GAAG,kBAAkB,EAAE,CAe/F;AAqBD,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAchF;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAmB1F;AAED;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,kBAAkB,EAAE,EAC/B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAgBvC;AAuCD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,mBAAmB,EAAE,EAChC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,EACxC,UAAU,EAAE,qBAAqB,GAChC,mBAAmB,EAAE,CA4BvB;AAID;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,mBAAmB,EAAE,0BAA0B,EAAE,GAChD,oBAAoB,CAiCtB;AAID;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,MAAM,GACjB,IAAI,CAON"}
|