Pulse/scripts/tests
rcourtman 7938f28de4 platforms: scale K8s clusters to 3 + fix VMware storage source matching
Two specific platform-page quality issues from the audit:

1. **/kubernetes/overview only had 1 cluster.** Bumping the K8s cluster
   count past 1 had been deferred because the prior
   monitor-broadcast equivalence test compared the raw snapshot count
   to the broadcast count exactly, and broadcast's
   `coalesceBroadcastResources` + second-pass coalesce inside
   `convertResourcesForBroadcast` legitimately drops merge candidates
   that the raw snapshot keeps. Switch the test to compare against
   the canonical snapshot count within a ±5% tolerance so future
   fixture bumps stay green without loosening any of the test's
   exact-name and exact-identity assertions. With that in place, bump
   `K8sClusterCount` 1 → 3 in `internal/mock/generator.go`,
   `scripts/toggle-mock.sh`, and the matching
   `scripts/tests/test-toggle-mock.sh` so the canonical mock estate
   ships with production + staging + edge clusters end-to-end.

   Live mock survey: k8s-cluster: 3, k8s-deployment: 42, pod: 120,
   plus 15 K8s nodes merged onto their agent hosts.

2. **/vmware/storage looked empty under platform-page chrome.**
   `resolveStorageSourceKey` was reading only `storage.type` (the
   on-disk technology like `vsan`, `vmfs`, `nfs41`, `zfs-pool`) and
   never consulted `storage.platform` (the canonical platform key
   like `vmware-vsphere` or `truenas`). Source filter chip options
   were therefore generated as `vsan`, `vmfs`, `nfs41`, etc., and
   `forcedSourceFilter='vmware-vsphere'` had nothing to match.
   Prefer the canonical `storage.platform` tag when set, so VMware
   datastores group under `vmware-vsphere`, TrueNAS pools group under
   `truenas`, PBS datastores under `proxmox-pbs`, etc., for both the
   chip options and the embedded platform-page filter.

Browser verification (Playwright, chromium, live mock-mode dev runtime):
- 9 tests pass.

Targeted vitest:
- `src/features/storageBackups` + `src/utils/__tests__/sourcePlatforms.test.ts` +
  `src/components/Storage/__tests__/storageSourceOptions.test.ts` (31
  files / 141 tests) green.

Go tests:
- `go test ./internal/mock/... ./internal/monitoring/... ./internal/vmware/...`
  all green.

Contracts updated:
- `monitoring.md` Shared Boundaries: new K8s multi-cluster default,
  ±5% tolerance for the broadcast equivalence assertion.
- `deployment-installability.md` Shared Boundaries: toggle-mock.sh /
  DefaultConfig parity updated for the K8sClusterCount=3 baseline.
2026-05-16 11:43:41 +01:00
..
integration feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
run.sh test(scripts): run python smoke tests 2026-03-28 21:53:09 +00:00
test-cloud-public-signup-smoke.sh Add Pulse Cloud public signup smoke 2026-04-23 23:09:10 +01:00
test-common-lib.sh feat: add shared script library system and refactor docker-agent installer 2025-10-20 15:13:38 +00:00
test-hot-dev-auth.sh Stabilize managed hot-dev startup 2026-05-14 21:40:07 +01:00
test-hot-dev-bg.sh Stabilize managed hot-dev startup 2026-05-14 21:40:07 +01:00
test-hot-dev-runtime.sh Stabilize managed hot-dev startup 2026-05-14 21:40:07 +01:00
test-install-ps1-parser.sh Tighten unified agent hardening proof 2026-04-23 23:37:25 +01:00
test-retired-trial-acquisition-docs.sh Rename retired trial acquisition proof assets 2026-04-28 18:38:10 +01:00
test-script-reference-integrity.sh Switch script-reference integrity test from rg to git grep for portable CI 2026-05-12 00:30:43 +01:00
test-toggle-mock.sh platforms: scale K8s clusters to 3 + fix VMware storage source matching 2026-05-16 11:43:41 +01:00
test_repo_docs_link_drift.py test(repo): generalize docs drift guard 2026-03-28 22:15:12 +00:00
test_sync_chart_release_metadata.py fix(deploy): pin docs links to release refs 2026-03-28 21:32:11 +00:00
test_telemetry_adoption_report.py Clarify Relay mobile handoff paid copy 2026-04-30 13:18:04 +01:00