diff options
| author | Paul Buetow <paul@buetow.org> | 2025-12-30 22:47:43 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-12-30 22:47:43 +0200 |
| commit | 888bb202d7089e5b54ca0384f8d9070cb52bf84f (patch) | |
| tree | e3a4d46d7ed8bf8a3c68c8790823d3e4abade686 /f3s/prometheus-pusher/coverage.out | |
| parent | 24592b36da26e7c6ef30aca3017f9da6ceb2f086 (diff) | |
Add comprehensive unit tests with 63.9% coverage
Implemented unit tests across all internal packages to achieve
63.9% test coverage, exceeding the 60% target.
Test coverage by package:
- internal/config: 100.0% (config validation, constants)
- internal/metrics: 100.0% (Sample methods, Collectors, Simulate)
- internal/parser: 92.3% (CSV/JSON parsing, format detection)
- internal/ingester: 44.9% (auto routing, time series conversion)
New test files:
- internal/config/config_test.go: Config creation and constants
- internal/metrics/sample_test.go: Sample type methods (Age, IsRecent)
- internal/metrics/generator_test.go: Collectors and simulation
- internal/parser/csv_test.go: CSV parsing with various inputs
- internal/parser/json_test.go: JSON parsing and validation
- internal/parser/parser_test.go: Parser factory and format handling
- internal/ingester/auto_test.go: Auto mode routing logic
- internal/ingester/remotewrite_test.go: Time series conversion
- internal/ingester/pushgateway_test.go: Pushgateway ingester
Tests cover:
- Happy path and error cases
- Context cancellation support
- Edge cases (empty input, invalid formats)
- Label parsing and timestamp handling
- Metric type generation (counter, gauge, histogram)
- Table-driven tests for comprehensive coverage
All 50+ tests passing ✅
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'f3s/prometheus-pusher/coverage.out')
| -rw-r--r-- | f3s/prometheus-pusher/coverage.out | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/f3s/prometheus-pusher/coverage.out b/f3s/prometheus-pusher/coverage.out new file mode 100644 index 0000000..4ab6aec --- /dev/null +++ b/f3s/prometheus-pusher/coverage.out @@ -0,0 +1,154 @@ +mode: set +prometheus-pusher/internal/config/config.go:31.25,43.2 1 1 +prometheus-pusher/internal/metrics/generator.go:31.33,66.2 1 1 +prometheus-pusher/internal/metrics/generator.go:69.32,74.38 4 1 +prometheus-pusher/internal/metrics/generator.go:74.38,77.3 2 1 +prometheus-pusher/internal/metrics/generator.go:79.2,79.35 1 1 +prometheus-pusher/internal/metrics/generator.go:79.35,82.3 2 1 +prometheus-pusher/internal/metrics/sample.go:14.98,15.19 1 1 +prometheus-pusher/internal/metrics/sample.go:15.19,17.3 1 1 +prometheus-pusher/internal/metrics/sample.go:18.2,23.3 1 1 +prometheus-pusher/internal/metrics/sample.go:27.37,29.2 1 1 +prometheus-pusher/internal/metrics/sample.go:32.56,34.2 1 1 +prometheus-pusher/internal/ingester/auto.go:17.53,19.24 2 1 +prometheus-pusher/internal/ingester/auto.go:19.24,21.3 1 1 +prometheus-pusher/internal/ingester/auto.go:22.2,22.28 1 1 +prometheus-pusher/internal/ingester/auto.go:33.66,39.2 1 1 +prometheus-pusher/internal/ingester/auto.go:42.102,43.23 1 1 +prometheus-pusher/internal/ingester/auto.go:43.23,45.3 1 1 +prometheus-pusher/internal/ingester/auto.go:47.2,51.30 3 0 +prometheus-pusher/internal/ingester/auto.go:51.30,52.52 1 0 +prometheus-pusher/internal/ingester/auto.go:52.52,54.4 1 0 +prometheus-pusher/internal/ingester/auto.go:57.2,57.30 1 0 +prometheus-pusher/internal/ingester/auto.go:57.30,58.69 1 0 +prometheus-pusher/internal/ingester/auto.go:58.69,60.4 1 0 +prometheus-pusher/internal/ingester/auto.go:63.2,64.12 2 0 +prometheus-pusher/internal/ingester/auto.go:68.89,72.33 3 1 +prometheus-pusher/internal/ingester/auto.go:72.33,73.61 1 1 +prometheus-pusher/internal/ingester/auto.go:73.61,75.4 1 1 +prometheus-pusher/internal/ingester/auto.go:75.9,77.4 1 1 +prometheus-pusher/internal/ingester/auto.go:80.2,80.41 1 1 +prometheus-pusher/internal/ingester/auto.go:84.54,89.2 4 0 +prometheus-pusher/internal/ingester/auto.go:92.84,96.97 3 0 +prometheus-pusher/internal/ingester/auto.go:96.97,98.3 1 0 +prometheus-pusher/internal/ingester/auto.go:100.2,101.12 2 0 +prometheus-pusher/internal/ingester/auto.go:105.110,108.33 2 0 +prometheus-pusher/internal/ingester/auto.go:108.33,111.3 2 0 +prometheus-pusher/internal/ingester/auto.go:113.2,113.78 1 0 +prometheus-pusher/internal/ingester/auto.go:113.78,115.3 1 0 +prometheus-pusher/internal/ingester/auto.go:117.2,118.12 2 0 +prometheus-pusher/internal/ingester/auto.go:122.45,123.21 1 1 +prometheus-pusher/internal/ingester/auto.go:123.21,125.3 1 1 +prometheus-pusher/internal/ingester/auto.go:125.8,125.26 1 1 +prometheus-pusher/internal/ingester/auto.go:125.26,127.3 1 1 +prometheus-pusher/internal/ingester/auto.go:127.8,127.29 1 1 +prometheus-pusher/internal/ingester/auto.go:127.29,129.3 1 1 +prometheus-pusher/internal/ingester/auto.go:130.2,130.47 1 1 +prometheus-pusher/internal/ingester/pushgateway.go:18.51,20.2 1 1 +prometheus-pusher/internal/ingester/pushgateway.go:26.116,27.9 1 0 +prometheus-pusher/internal/ingester/pushgateway.go:28.20,29.19 1 0 +prometheus-pusher/internal/ingester/pushgateway.go:30.10,30.10 0 0 +prometheus-pusher/internal/ingester/pushgateway.go:34.2,46.38 3 0 +prometheus-pusher/internal/ingester/pushgateway.go:46.38,48.3 1 0 +prometheus-pusher/internal/ingester/pushgateway.go:50.2,50.12 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:31.51,35.2 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:38.102,39.23 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:39.23,41.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:43.2,43.9 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:44.20,45.19 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:46.10,46.10 0 0 +prometheus-pusher/internal/ingester/remotewrite.go:49.2,52.51 3 0 +prometheus-pusher/internal/ingester/remotewrite.go:56.98,61.67 4 0 +prometheus-pusher/internal/ingester/remotewrite.go:61.67,63.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:65.2,67.12 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:71.125,78.84 4 0 +prometheus-pusher/internal/ingester/remotewrite.go:78.84,79.62 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:79.62,82.4 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:82.9,84.4 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:86.3,86.10 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:87.21,88.20 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:89.36,89.36 0 0 +prometheus-pusher/internal/ingester/remotewrite.go:93.2,95.20 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:95.20,97.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:99.2,99.12 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:103.121,105.16 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:105.16,107.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:109.2,112.16 3 0 +prometheus-pusher/internal/ingester/remotewrite.go:112.16,114.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:116.2,121.16 5 0 +prometheus-pusher/internal/ingester/remotewrite.go:121.16,123.3 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:124.2,126.81 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:126.81,129.3 2 0 +prometheus-pusher/internal/ingester/remotewrite.go:131.2,131.12 1 0 +prometheus-pusher/internal/ingester/remotewrite.go:135.79,138.33 2 1 +prometheus-pusher/internal/ingester/remotewrite.go:138.33,141.35 2 1 +prometheus-pusher/internal/ingester/remotewrite.go:141.35,143.4 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:145.3,151.5 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:154.2,154.19 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:158.74,175.2 9 1 +prometheus-pusher/internal/ingester/remotewrite.go:178.116,186.2 3 1 +prometheus-pusher/internal/ingester/remotewrite.go:189.114,191.2 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:194.94,199.33 4 1 +prometheus-pusher/internal/ingester/remotewrite.go:199.33,211.3 4 1 +prometheus-pusher/internal/ingester/remotewrite.go:213.2,226.15 6 1 +prometheus-pusher/internal/ingester/remotewrite.go:230.99,235.35 4 1 +prometheus-pusher/internal/ingester/remotewrite.go:235.35,236.35 1 1 +prometheus-pusher/internal/ingester/remotewrite.go:236.35,248.4 3 1 +prometheus-pusher/internal/ingester/remotewrite.go:251.2,251.15 1 1 +prometheus-pusher/internal/parser/csv.go:19.32,21.2 1 1 +prometheus-pusher/internal/parser/csv.go:25.92,32.6 5 1 +prometheus-pusher/internal/parser/csv.go:32.6,33.10 1 1 +prometheus-pusher/internal/parser/csv.go:34.21,35.25 1 1 +prometheus-pusher/internal/parser/csv.go:36.11,36.11 0 1 +prometheus-pusher/internal/parser/csv.go:39.3,40.20 2 1 +prometheus-pusher/internal/parser/csv.go:40.20,41.9 1 1 +prometheus-pusher/internal/parser/csv.go:43.3,43.17 1 1 +prometheus-pusher/internal/parser/csv.go:43.17,45.4 1 1 +prometheus-pusher/internal/parser/csv.go:46.3,48.22 2 1 +prometheus-pusher/internal/parser/csv.go:48.22,49.12 1 0 +prometheus-pusher/internal/parser/csv.go:52.3,53.17 2 1 +prometheus-pusher/internal/parser/csv.go:53.17,54.12 1 1 +prometheus-pusher/internal/parser/csv.go:57.3,57.36 1 1 +prometheus-pusher/internal/parser/csv.go:60.2,60.21 1 1 +prometheus-pusher/internal/parser/csv.go:63.87,65.22 2 1 +prometheus-pusher/internal/parser/csv.go:65.22,67.3 1 0 +prometheus-pusher/internal/parser/csv.go:69.2,72.16 3 1 +prometheus-pusher/internal/parser/csv.go:72.16,74.3 1 1 +prometheus-pusher/internal/parser/csv.go:76.2,77.40 2 1 +prometheus-pusher/internal/parser/csv.go:77.40,79.17 2 1 +prometheus-pusher/internal/parser/csv.go:79.17,81.4 1 1 +prometheus-pusher/internal/parser/csv.go:84.2,84.69 1 1 +prometheus-pusher/internal/parser/csv.go:87.53,89.20 2 1 +prometheus-pusher/internal/parser/csv.go:89.20,91.3 1 1 +prometheus-pusher/internal/parser/csv.go:93.2,94.34 2 1 +prometheus-pusher/internal/parser/csv.go:94.34,96.22 2 1 +prometheus-pusher/internal/parser/csv.go:96.22,98.4 1 1 +prometheus-pusher/internal/parser/csv.go:100.2,100.15 1 1 +prometheus-pusher/internal/parser/json.go:17.34,19.2 1 1 +prometheus-pusher/internal/parser/json.go:29.93,33.52 3 1 +prometheus-pusher/internal/parser/json.go:33.52,35.3 1 1 +prometheus-pusher/internal/parser/json.go:37.2,38.33 2 1 +prometheus-pusher/internal/parser/json.go:38.33,39.10 1 1 +prometheus-pusher/internal/parser/json.go:40.21,41.25 1 1 +prometheus-pusher/internal/parser/json.go:42.11,42.11 0 1 +prometheus-pusher/internal/parser/json.go:45.3,45.23 1 1 +prometheus-pusher/internal/parser/json.go:45.23,46.12 1 1 +prometheus-pusher/internal/parser/json.go:49.3,50.26 2 1 +prometheus-pusher/internal/parser/json.go:50.26,52.4 1 1 +prometheus-pusher/internal/parser/json.go:54.3,54.24 1 1 +prometheus-pusher/internal/parser/json.go:54.24,56.4 1 1 +prometheus-pusher/internal/parser/json.go:58.3,58.93 1 1 +prometheus-pusher/internal/parser/json.go:61.2,61.21 1 1 +prometheus-pusher/internal/parser/parser.go:18.88,20.16 2 1 +prometheus-pusher/internal/parser/parser.go:20.16,22.3 1 1 +prometheus-pusher/internal/parser/parser.go:23.2,25.43 2 0 +prometheus-pusher/internal/parser/parser.go:29.79,31.2 1 0 +prometheus-pusher/internal/parser/parser.go:34.102,37.16 2 1 +prometheus-pusher/internal/parser/parser.go:38.13,39.26 1 1 +prometheus-pusher/internal/parser/parser.go:40.14,41.27 1 1 +prometheus-pusher/internal/parser/parser.go:42.10,43.77 1 1 +prometheus-pusher/internal/parser/parser.go:46.2,47.16 2 1 +prometheus-pusher/internal/parser/parser.go:47.16,49.3 1 0 +prometheus-pusher/internal/parser/parser.go:51.2,51.23 1 1 +prometheus-pusher/internal/parser/parser.go:51.23,53.3 1 1 +prometheus-pusher/internal/parser/parser.go:55.2,55.21 1 1 |
