From 633680064148c87a44e751d4387d83fbf79cce2a Mon Sep 17 00:00:00 2001 From: Joel Wetzell Date: Tue, 17 Mar 2026 12:04:01 -0500 Subject: [PATCH] remove badly shaped mqtt.message.encode processor --- internal/processor/mqtt-message-encode.go | 39 -------- .../test/mqtt-message-encode_test.go | 91 ------------------- 2 files changed, 130 deletions(-) delete mode 100644 internal/processor/mqtt-message-encode.go delete mode 100644 internal/processor/test/mqtt-message-encode_test.go diff --git a/internal/processor/mqtt-message-encode.go b/internal/processor/mqtt-message-encode.go deleted file mode 100644 index 359b79b..0000000 --- a/internal/processor/mqtt-message-encode.go +++ /dev/null @@ -1,39 +0,0 @@ -package processor - -import ( - "context" - "errors" - - mqtt "github.com/eclipse/paho.mqtt.golang" - "github.com/jwetzell/showbridge-go/internal/common" - "github.com/jwetzell/showbridge-go/internal/config" -) - -type MQTTMessageEncode struct { - config config.ProcessorConfig -} - -func (mme *MQTTMessageEncode) Process(ctx context.Context, wrappedPayload common.WrappedPayload) (common.WrappedPayload, error) { - payload := wrappedPayload.Payload - payloadMessage, ok := common.GetAnyAs[mqtt.Message](payload) - - if !ok { - wrappedPayload.End = true - return wrappedPayload, errors.New("mqtt.message.encode processor only accepts an mqtt.Message") - } - wrappedPayload.Payload = payloadMessage.Payload() - return wrappedPayload, nil -} - -func (mme *MQTTMessageEncode) Type() string { - return mme.config.Type -} - -func init() { - RegisterProcessor(ProcessorRegistration{ - Type: "mqtt.message.encode", - New: func(config config.ProcessorConfig) (Processor, error) { - return &MQTTMessageEncode{config: config}, nil - }, - }) -} diff --git a/internal/processor/test/mqtt-message-encode_test.go b/internal/processor/test/mqtt-message-encode_test.go deleted file mode 100644 index 03286c9..0000000 --- a/internal/processor/test/mqtt-message-encode_test.go +++ /dev/null @@ -1,91 +0,0 @@ -package processor_test - -import ( - "slices" - "testing" - - mqtt "github.com/eclipse/paho.mqtt.golang" - "github.com/jwetzell/showbridge-go/internal/common" - "github.com/jwetzell/showbridge-go/internal/config" - "github.com/jwetzell/showbridge-go/internal/processor" -) - -func TestMQTTMessageEncodeFromRegistry(t *testing.T) { - registration, ok := processor.ProcessorRegistry["mqtt.message.encode"] - if !ok { - t.Fatalf("mqtt.message.encode processor not registered") - } - - processorInstance, err := registration.New(config.ProcessorConfig{ - Type: "mqtt.message.encode", - }) - - if err != nil { - t.Fatalf("failed to create mqtt.message.encode processor: %s", err) - } - - if processorInstance.Type() != "mqtt.message.encode" { - t.Fatalf("mqtt.message.encode processor has wrong type: %s", processorInstance.Type()) - } -} - -func TestGoodMQTTMessageEncode(t *testing.T) { - stringEncoder := processor.MQTTMessageEncode{} - tests := []struct { - name string - payload mqtt.Message - expected []byte - }{ - { - name: "basic string", - payload: processor.NewMQTTMessage("test/topic", 1, true, []byte("hello")), - expected: []byte{0x68, 0x65, 0x6c, 0x6c, 0x6f}, - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - got, err := stringEncoder.Process(t.Context(), common.GetWrappedPayload(t.Context(), test.payload)) - if err != nil { - t.Fatalf("mqtt.message.encode processing failed: %s", err) - } - - gotBytes, ok := got.Payload.([]byte) - if !ok { - t.Fatalf("mqtt.message.encode returned a %T payload: %+v", got, got) - } - - if !slices.Equal(gotBytes, test.expected) { - t.Fatalf("mqtt.message.encode got %+v, expected %s", got, test.expected) - } - }) - } -} - -func TestBadMQTTMessageEncode(t *testing.T) { - stringEncoder := processor.MQTTMessageEncode{} - tests := []struct { - name string - payload any - errorString string - }{ - { - name: "non-mqtt message input", - payload: []byte{0x68, 0x65, 0x6c, 0x6c, 0x6f}, - errorString: "mqtt.message.encode processor only accepts an mqtt.Message", - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - got, err := stringEncoder.Process(t.Context(), common.GetWrappedPayload(t.Context(), test.payload)) - - if err == nil { - t.Fatalf("mqtt.message.encode expected to fail but got payload: %+v", got) - } - if err.Error() != test.errorString { - t.Fatalf("mqtt.message.encode got error '%s', expected '%s'", err.Error(), test.errorString) - } - }) - } -}