mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-20 17:48:47 +00:00
Mock pages were sparse: 3 Proxmox nodes × 3 VMs × 3 LXCs, 2 Docker hosts × 5 containers, 1 K8s cluster × 3 nodes × 10 pods × 4 deployments. That populated platform pages with handfuls of rows rather than table density that exercises sorting, grouping, drawers, and responsive layout. Bump `internal/mock/generator.go::DefaultConfig` to target a mature small-to-mid homelab / SMB environment: - NodeCount: 3 → 5 (matches the curated demo scenario's pve1..pve5 regional naming) - VMsPerNode: 3 → 6 - LXCsPerNode: 3 → 8 - DockerHostCount: 2 → 5 - DockerContainersPerHost: 5 → 14 - GenericHostCount: 2 → 4 - K8sClusterCount: 1 (unchanged; the curated demo and broadcast coalesce tests assume a single cluster identity) - K8sNodesPerCluster: 3 → 5 - K8sPodsPerCluster: 10 → 40 - K8sDeploymentsPerCluster: 4 → 14 Resource survey under the new defaults (live mock backend): - TOTAL 307 unique resources (was ~50-100) - app-container: 75, storage: 55, system-container: 44, pod: 40, vm: 31, physical_disk: 19, agent: 15, k8s-deployment: 14, docker-host: 5, network-endpoint: 5, pmg: 2, pbs: 1, k8s-cluster: 1 Platform pages now feel populated under mock mode: - /docker/overview: 5 hosts (was 2) - /docker/containers: 75 containers (was 13) - /kubernetes/nodes: 5 (was 3) - /kubernetes/pods: 40 (was 10) - /kubernetes/deployments: 14 (was 4) `internal/mock/demo_scenarios.go` extended to season `local`, `local-zfs`, and per-node iso/service-pool storage names for pve6 and beyond, so future NodeCount bumps don't regress the curated demo into generic "service-pool" labels (a test guard explicitly forbids that alias). A new `TestDemoScenarioStorageNamingHandlesScaledNodeCount` covers the scaled-NodeCount path. `internal/monitoring/monitor_unified_state_test.go` updated to compare the broadcast count against the coalesced snapshot count rather than the raw snapshot count — the broadcast path merges resources that share a canonical host key (K8s nodes onto linked agent hosts), so larger fixture sizes legitimately produce more merge candidates, and the prior raw-equality assertion would have broken on any future fixture growth too. The test still asserts every canonical name and mock identity it checked before. `scripts/toggle-mock.sh` (`mock_default_entries`) and the matching `scripts/tests/test-toggle-mock.sh` assertions are aligned with the new defaults so `npm run mock:edit` and per-dev `.env` seeding match the canonical baseline. Contracts updated: - `monitoring.md` Shared Boundaries: records the new DefaultConfig target sizes and the requirement that demo-scenario seasoning stay aligned with NodeCount changes. - `deployment-installability.md` Shared Boundaries: records that `mock_default_entries()` in toggle-mock.sh must stay aligned with `internal/mock.DefaultConfig` so CLI/toggle/runtime mock densities never drift apart. Targeted Go tests: - `go test ./internal/mock/...` green - `go test ./internal/monitoring/...` green Playwright (chromium, live mock-mode dev runtime): - 9 tests, all pass; populated assertions now hit dense tables (5 hosts, 14+ containers, 40 pods, etc.). Known remaining fixture gaps (canonical adapter, not config): - VMware fixture inventory in `internal/vmware/fixtures.go` is hardcoded at 4 hosts / 6 VMs / 4 datastores; not scaled in this commit. - TrueNAS fixture inventory in `internal/truenas/fixtures.go` is similarly hardcoded; not scaled in this commit. |
||
|---|---|---|
| .. | ||
| integration | ||
| run.sh | ||
| test-cloud-public-signup-smoke.sh | ||
| test-common-lib.sh | ||
| test-hot-dev-auth.sh | ||
| test-hot-dev-bg.sh | ||
| test-hot-dev-runtime.sh | ||
| test-install-ps1-parser.sh | ||
| test-retired-trial-acquisition-docs.sh | ||
| test-script-reference-integrity.sh | ||
| test-toggle-mock.sh | ||
| test_repo_docs_link_drift.py | ||
| test_sync_chart_release_metadata.py | ||
| test_telemetry_adoption_report.py | ||