package config import "testing" func TestValidateRejectsDeviceIDThatCannotFormTopic(t *testing.T) { cfg := Config{} cfg.MQTT.URL = "mqtt://127.0.0.1:18883" cfg.MQTT.ClientID = "lab-client" cfg.MQTT.Username = "backend" cfg.MQTT.Password = "lab-password" cfg.MQTT.DeviceID = "device!001" cfg.App.ConnectTimeout = "10s" if err := cfg.Validate(); err == nil { t.Fatal("Validate accepted a device ID rejected by the topic contract") } }