mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-03 05:50:15 +00:00
- Add Access-Control-Expose-Headers to allow frontend to read X-CSRF-Token response header - Implement proactive CSRF token issuance on GET requests when session exists but CSRF cookie is missing - Ensures frontend always has valid CSRF token before making POST requests - Fixes 403 Forbidden errors when toggling system settings This resolves CSRF validation failures that occurred when CSRF tokens expired or were missing while valid sessions existed.
43 lines
1.2 KiB
Go
43 lines
1.2 KiB
Go
package monitoring
|
|
|
|
import (
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"github.com/rcourtman/pulse-go-rewrite/internal/config"
|
|
)
|
|
|
|
func TestMonitorTemperatureCollectorToggle(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
cfg := &config.Config{TemperatureMonitoringEnabled: false}
|
|
|
|
service := newTemperatureService(false, "root", filepath.Join(t.TempDir(), "id_ed25519_sensors"))
|
|
|
|
m := &Monitor{
|
|
config: cfg,
|
|
tempService: service,
|
|
}
|
|
|
|
if provider := m.temperatureService(); provider == nil {
|
|
t.Fatalf("expected temperature service to be present")
|
|
} else if provider.Enabled() {
|
|
t.Fatalf("expected service to start disabled")
|
|
}
|
|
|
|
m.EnableTemperatureMonitoring()
|
|
if !cfg.TemperatureMonitoringEnabled {
|
|
t.Fatalf("expected config flag to be true after enabling")
|
|
}
|
|
if provider := m.temperatureService(); provider == nil || !provider.Enabled() {
|
|
t.Fatalf("expected service to be enabled after EnableTemperatureMonitoring")
|
|
}
|
|
|
|
m.DisableTemperatureMonitoring()
|
|
if cfg.TemperatureMonitoringEnabled {
|
|
t.Fatalf("expected config flag to be false after disabling")
|
|
}
|
|
if provider := m.temperatureService(); provider == nil || provider.Enabled() {
|
|
t.Fatalf("expected service to be disabled after DisableTemperatureMonitoring")
|
|
}
|
|
}
|