fwh_mqtt_client_test.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package fwh_mqtt
  2. import (
  3. "context"
  4. "fwh-toolbox-server/config"
  5. "fwh-toolbox-server/dto"
  6. "testing"
  7. )
  8. func TestParseEnv(t *testing.T) {
  9. cases := []struct {
  10. in string
  11. want Env
  12. wantErr bool
  13. }{
  14. {"", EnvProd, false},
  15. {"prod", EnvProd, false},
  16. {"test", EnvTest, false},
  17. {"TEST", "", true},
  18. {"dev", "", true},
  19. }
  20. for _, c := range cases {
  21. got, err := ParseEnv(c.in)
  22. if (err != nil) != c.wantErr || got != c.want {
  23. t.Errorf("ParseEnv(%q) = %q, %v; want %q, err=%v", c.in, got, err, c.want, c.wantErr)
  24. }
  25. }
  26. }
  27. func TestUninitializedEnvReturnsError(t *testing.T) {
  28. // 未初始化的环境不应 panic,应返回错误
  29. if err := FaultRecordParamSetting(context.Background(), EnvTest, dto.FaultRecordParamInfo{Sn: "X"}); err == nil {
  30. t.Fatal("expected error for uninitialized env")
  31. }
  32. }
  33. func TestInitWithoutBrokerFails(t *testing.T) {
  34. if err := InitFwhMqttClient(EnvTest, &config.FwhMqttConfig{}); err == nil {
  35. t.Fatal("expected error when broker not configured")
  36. }
  37. if _, err := getFwhMqttClient(EnvTest); err == nil {
  38. t.Fatal("client should not be registered after failed init")
  39. }
  40. }