rcourtman
610f9e0cb3
Cover telemetry classifiers, lifecycle records and install snapshot counts
...
Five new branch-coverage tests over the packages the telemetry lifecycle drop
touched, taking twenty-two functions to full coverage without touching any
source or existing test.
internal/telemetry: the deployment method precedence chain, the duration bucket
asserted one nanosecond either side of every boundary so the strict comparison
is pinned, every activation stage in its precedence order with the rank
ordering proved strictly increasing, the estate size bucket at each inclusive
boundary, the monitored resource count proved to draw on each counted field
individually, and the update failure classifier through every category arm
including the status short-circuit that wins over error text.
The lifecycle and install-id records are exercised as write-then-read round
trips under a temp directory and a frozen clock: a first-ever ping with nothing
on disk, a later ping against an existing record, an unreadable record, a
directory that cannot be written, and a reset proved to change the identifier
and persist the new one.
internal/monitoring: the alert outcome accumulation across the cutoff boundary
and each classification, and the install outcome accumulation over the arms
reachable without a live monitor.
internal/api: the read state snapshot mapping asserted field by field with
collection independence, both diagnostics collection normalizers, the in-memory
zip entry extraction across a missing entry, a non-zip payload and a zero-length
entry, and the trusted proxy check over IPv4, IPv6 and malformed input.
Contract-Neutral: test-only branch coverage, no contract surface touched
2026-07-23 07:15:13 +01:00
..
2026-03-18 16:06:30 +00:00
2026-07-20 22:41:19 +01:00
2026-07-22 11:06:27 +01:00
2026-07-22 11:06:27 +01:00
2026-07-17 16:09:06 +01:00
2026-07-22 16:15:31 +01:00
2026-07-19 15:11:01 +01:00
2026-07-22 09:09:25 +01:00
2026-07-20 20:27:39 +01:00
2025-11-26 23:44:36 +00:00
2025-10-20 15:13:37 +00:00
2026-02-07 22:05:55 +00:00
2026-03-18 16:06:30 +00:00
2026-07-23 01:10:38 +01:00
2026-06-02 14:52:47 +01:00
2026-06-04 14:07:14 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-22 06:42:33 +01:00
2026-07-11 18:25:17 +01:00
2026-07-11 18:25:17 +01:00
2025-12-01 17:33:36 +00:00
2026-03-18 16:06:30 +00:00
2026-06-26 11:35:12 +01:00
2026-06-26 11:35:12 +01:00
2026-04-01 19:14:12 +01:00
2026-05-05 14:59:29 +01:00
2026-07-10 00:05:22 +01:00
2026-07-10 00:05:22 +01:00
2026-06-25 20:30:38 +01:00
2026-06-25 20:30:38 +01:00
2026-06-04 10:35:35 +01:00
2026-06-04 10:35:35 +01:00
2026-07-19 09:13:14 +01:00
2026-07-16 20:55:09 +01:00
2026-07-16 20:55:09 +01:00
2026-07-14 12:00:57 +01:00
2026-01-01 22:29:15 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2025-10-14 16:13:53 +00:00
2025-11-12 09:47:02 +00:00
2026-07-02 23:52:02 +01:00
2026-07-02 23:52:02 +01:00
2026-07-10 00:14:01 +01:00
2026-05-19 22:37:55 +01:00
2026-01-28 16:52:35 +00:00
2026-07-13 09:41:11 +01:00
2026-05-05 14:59:29 +01:00
2026-04-22 09:22:46 +01:00
2026-06-04 14:07:14 +01:00
2026-06-04 14:07:14 +01:00
2026-06-27 17:41:00 +01:00
2026-06-27 17:41:00 +01:00
2026-04-01 19:14:12 +01:00
2026-05-05 14:59:29 +01:00
2026-04-01 18:38:42 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-07-03 10:52:18 +01:00
2026-07-03 10:43:28 +01:00
2026-07-07 09:46:51 +01:00
2025-11-26 23:44:36 +00:00
2026-07-20 16:03:29 +01:00
2026-07-21 20:30:54 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-07-14 17:03:14 +01:00
2026-07-16 09:50:04 +01:00
2026-04-11 22:46:34 +01:00
2026-02-04 19:49:52 +00:00
2026-02-04 19:49:52 +00:00
2026-04-12 09:41:29 +01:00
2026-06-11 19:42:40 +01:00
2026-06-11 19:42:40 +01:00
2026-06-10 09:19:51 +01:00
2026-04-01 19:00:48 +01:00
2026-06-09 21:42:21 +01:00
2026-06-12 19:19:16 +01:00
2025-12-01 21:18:33 +00:00
2025-11-27 09:16:53 +00:00
2026-02-04 19:35:19 +00:00
2026-07-20 04:21:26 +01:00
2026-07-20 06:30:55 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-03 12:29:37 +01:00
2026-07-20 07:50:22 +01:00
2026-07-20 07:50:22 +01:00
2026-07-20 06:30:55 +01:00
2026-06-09 21:42:21 +01:00
2026-06-09 21:42:21 +01:00
2026-01-22 13:39:06 +00:00
2026-06-04 09:11:07 +01:00
2026-07-22 11:06:27 +01:00
2026-07-20 20:27:39 +01:00
2026-07-20 20:27:39 +01:00
2026-07-20 20:27:39 +01:00
2026-07-20 16:03:29 +01:00
2026-07-20 16:03:29 +01:00
2026-07-17 16:09:06 +01:00
2026-05-05 14:19:50 +01:00
2026-07-18 19:39:56 +01:00
2026-07-09 20:28:52 +01:00
2026-07-20 20:27:39 +01:00
2026-05-05 16:25:00 +01:00
2026-04-19 11:42:53 +01:00
2026-04-19 11:42:53 +01:00
2026-05-01 20:28:12 +01:00
2026-06-04 09:11:07 +01:00
2025-11-18 22:57:20 +00:00
2026-06-11 10:23:49 +01:00
2026-06-23 17:31:37 +01:00
2026-07-15 17:55:26 +01:00
2026-07-02 23:52:02 +01:00
2026-07-20 20:27:39 +01:00
2025-10-20 15:13:38 +00:00
2026-06-14 11:07:47 +01:00
2026-07-20 16:03:29 +01:00
2026-07-22 11:06:27 +01:00
2026-07-03 10:52:18 +01:00
2026-04-01 10:04:30 +01:00
2026-05-01 20:28:12 +01:00
2026-04-11 14:51:10 +01:00
2026-06-09 21:42:21 +01:00
2026-06-11 13:12:59 +01:00
2026-05-25 20:35:58 +01:00
2026-07-12 02:53:01 +01:00
2026-05-13 17:05:03 +01:00
2026-01-04 10:29:40 +00:00
2026-07-18 19:41:53 +01:00
2026-05-08 19:53:03 +01:00
2026-06-14 09:55:56 +01:00
2026-07-03 10:43:28 +01:00
2026-04-01 11:51:19 +01:00
2026-07-16 09:26:53 +01:00
2026-03-18 16:06:30 +00:00
2026-06-11 10:57:22 +01:00
2026-06-10 16:19:24 +01:00
2026-06-10 09:19:51 +01:00
2026-04-01 19:31:50 +01:00
2026-05-13 19:00:02 +01:00
2026-04-01 19:14:12 +01:00
2026-04-01 11:51:19 +01:00
2026-06-10 16:20:35 +01:00
2026-06-10 16:20:35 +01:00
2026-07-11 10:24:45 +01:00
2026-07-13 09:41:11 +01:00
2026-04-01 20:41:56 +01:00
2026-04-21 14:46:23 +01:00
2026-04-21 14:46:23 +01:00
2026-06-04 14:07:14 +01:00
2026-06-04 14:07:14 +01:00
2026-03-18 16:06:30 +00:00
2026-06-04 14:07:14 +01:00
2026-06-11 09:47:42 +01:00
2026-07-21 20:30:54 +01:00
2026-01-04 10:29:40 +00:00
2026-03-18 16:06:30 +00:00
2026-06-04 09:00:30 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-06-04 10:27:59 +01:00
2026-05-17 18:45:24 +01:00
2026-01-05 23:34:33 +00:00
2026-03-18 16:06:30 +00:00
2026-06-11 20:29:13 +01:00
2026-03-18 16:06:30 +00:00
2026-07-21 21:24:15 +01:00
2026-05-05 12:59:59 +01:00
2026-07-16 16:25:10 +01:00
2026-07-21 21:24:15 +01:00
2026-07-16 15:17:45 +01:00
2026-07-20 07:50:22 +01:00
2026-07-20 07:50:22 +01:00
2026-04-01 10:04:30 +01:00
2026-06-27 17:41:00 +01:00
2026-06-27 17:41:00 +01:00
2026-04-11 22:46:34 +01:00
2026-02-07 22:05:55 +00:00
2026-01-14 12:26:18 +00:00
2026-07-19 15:10:38 +01:00
2026-07-19 15:10:38 +01:00
2026-07-18 11:54:09 +01:00
2026-07-18 11:54:09 +01:00
2026-06-10 09:19:51 +01:00
2026-07-16 09:26:53 +01:00
2026-03-18 16:06:30 +00:00
2026-07-13 11:04:09 +01:00
2026-07-13 11:04:09 +01:00
2026-07-22 06:42:33 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-04-01 23:33:43 +01:00
2026-07-19 15:10:38 +01:00
2026-07-19 15:10:38 +01:00
2026-03-26 22:58:27 +00:00
2026-03-31 15:42:16 +01:00
2026-07-23 07:15:13 +01:00
2026-07-23 01:10:38 +01:00
2026-07-23 01:10:38 +01:00
2026-07-03 09:05:12 +01:00
2026-07-16 09:26:53 +01:00
2026-07-16 09:26:53 +01:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-03-18 16:06:30 +00:00
2026-01-06 17:44:52 +00:00
2026-01-06 17:44:52 +00:00
2026-02-04 19:33:29 +00:00
2025-12-02 12:02:13 +00:00
2026-03-18 16:06:30 +00:00
2026-07-23 06:34:03 +01:00
2026-06-11 16:00:25 +01:00
2026-06-11 16:00:25 +01:00
2026-07-14 11:51:55 +01:00
2026-07-14 11:51:55 +01:00
2026-05-22 20:26:56 +01:00
2026-06-10 09:19:51 +01:00