From 5d22ef6a0cb06cf562d7a00873eab3849caeb4bd Mon Sep 17 00:00:00 2001 From: Pulse Monitor Date: Wed, 27 Aug 2025 19:01:51 +0000 Subject: [PATCH] fix: integrate mock data system with monitoring Mock mode now properly returns simulated data including PMG host backups. The monitor's GetState() method now checks for mock mode and returns mock data when enabled, allowing full testing of UI features without real Proxmox nodes. --- internal/monitoring/monitor.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/internal/monitoring/monitor.go b/internal/monitoring/monitor.go index 868898b8b..8c02d7f0b 100644 --- a/internal/monitoring/monitor.go +++ b/internal/monitoring/monitor.go @@ -16,6 +16,7 @@ import ( "github.com/rcourtman/pulse-go-rewrite/internal/config" "github.com/rcourtman/pulse-go-rewrite/internal/discovery" "github.com/rcourtman/pulse-go-rewrite/internal/errors" + "github.com/rcourtman/pulse-go-rewrite/internal/mock" "github.com/rcourtman/pulse-go-rewrite/internal/models" "github.com/rcourtman/pulse-go-rewrite/internal/notifications" "github.com/rcourtman/pulse-go-rewrite/internal/websocket" @@ -2104,8 +2105,24 @@ func (m *Monitor) pollPBSInstance(ctx context.Context, instanceName string, clie } } +// getMockState returns mock data when mock mode is enabled +func getMockState() *models.StateSnapshot { + if mock.IsMockEnabled() { + state := mock.GetMockState() + return &state + } + return nil +} + // GetState returns the current state func (m *Monitor) GetState() models.StateSnapshot { + // Check if mock mode is enabled + if os.Getenv("PULSE_MOCK_MODE") == "true" { + // Import mock package and return mock data + if mockData := getMockState(); mockData != nil { + return *mockData + } + } return m.state.GetSnapshot() }