upgrade osc-go library to v0.3.0 and handle new error cases

This commit is contained in:
Joel Wetzell
2026-04-14 07:28:06 -05:00
parent 36b085ef5c
commit f969d3484d
5 changed files with 19 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ package processor
import (
"context"
"errors"
"fmt"
osc "github.com/jwetzell/osc-go"
"github.com/jwetzell/showbridge-go/internal/common"
@@ -22,7 +23,12 @@ func (ome *OSCMessageEncode) Process(ctx context.Context, wrappedPayload common.
return wrappedPayload, errors.New("osc.message.encode processor only accepts an *OSCMessage")
}
wrappedPayload.Payload = payloadMessage.ToBytes()
bytes, err := payloadMessage.ToBytes()
if err != nil {
wrappedPayload.End = true
return wrappedPayload, fmt.Errorf("osc.message.encode processor failed to encode OSCMessage: %w", err)
}
wrappedPayload.Payload = bytes
return wrappedPayload, nil
}

View File

@@ -104,7 +104,7 @@ func TestBadOSCMessageDecode(t *testing.T) {
{
name: "invalid OSC payload",
payload: []byte{47, 116, 101, 115, 116, 0},
errorString: "osc.message.decode processor failed to decode OSC message: string data is not properly padded",
errorString: "osc.message.decode processor failed to decode OSC message: OSC string is not properly padded",
},
}

View File

@@ -89,6 +89,14 @@ func TestBadOSCMessageEncode(t *testing.T) {
payload: "test",
errorString: "osc.message.encode processor only accepts an *OSCMessage",
},
{
name: "invalid OSC message argument",
payload: &osc.OSCMessage{
Address: "test",
Args: []osc.OSCArg{},
},
errorString: "osc.message.encode processor failed to encode OSCMessage: OSC Message address must start with /",
},
}
for _, test := range tests {