Skip to content

Commit f895dc1

Browse files
authored
support sender SetSubject() and SetTo() options (#276)
1 parent 6d619ed commit f895dc1

File tree

2 files changed

+40
-0
lines changed

2 files changed

+40
-0
lines changed

v2/sender.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,22 @@ func SetMessageTTL(ttl time.Duration) func(msg *azservicebus.Message) error {
266266
}
267267
}
268268

269+
// SetSubject sets the ServiceBus message's Subject property to a user-specified value
270+
func SetSubject(subject string) func(msg *azservicebus.Message) error {
271+
return func(msg *azservicebus.Message) error {
272+
msg.Subject = &subject
273+
return nil
274+
}
275+
}
276+
277+
// SetTo sets the ServiceBus message's To property to a user-specified value
278+
func SetTo(to string) func(msg *azservicebus.Message) error {
279+
return func(msg *azservicebus.Message) error {
280+
msg.To = &to
281+
return nil
282+
}
283+
}
284+
269285
func getMessageType(mb MessageBody) string {
270286
var msgType string
271287
vo := reflect.ValueOf(mb)

v2/sender_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,30 @@ func TestHandlers_SetMessageTTL(t *testing.T) {
9595
}
9696
}
9797

98+
func TestHandlers_SetSubject(t *testing.T) {
99+
subject := "test-subject"
100+
blankMsg := &azservicebus.Message{}
101+
handler := SetSubject(subject)
102+
if err := handler(blankMsg); err != nil {
103+
t.Errorf("Unexpected error in set subject test: %s", err)
104+
}
105+
if *blankMsg.Subject != subject {
106+
t.Errorf("for subject expected %s, got %s", subject, *blankMsg.Subject)
107+
}
108+
}
109+
110+
func TestHandlers_SetTo(t *testing.T) {
111+
to := "test-to"
112+
blankMsg := &azservicebus.Message{}
113+
handler := SetTo(to)
114+
if err := handler(blankMsg); err != nil {
115+
t.Errorf("Unexpected error in set to test: %s", err)
116+
}
117+
if *blankMsg.To != to {
118+
t.Errorf("for to expected %s, got %s", to, *blankMsg.To)
119+
}
120+
}
121+
98122
func TestSender_SenderTracePropagation(t *testing.T) {
99123
g := NewWithT(t)
100124
azSender := &fakeAzSender{}

0 commit comments

Comments
 (0)