MCPcopy
hub / github.com/nats-io/nats.go / TestMsg_RespondMsg

Function TestMsg_RespondMsg

test/nats_test.go:1082–1117  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

1080}
1081
1082func TestMsg_RespondMsg(t *testing.T) {
1083 s := RunServerOnPort(-1)
1084 defer s.Shutdown()
1085
1086 nc, err := nats.Connect(s.ClientURL())
1087 if err != nil {
1088 t.Fatalf("Expected to connect to server, got %v", err)
1089 }
1090 defer nc.Close()
1091
1092 sub, err := nc.SubscribeSync(nats.NewInbox())
1093 if err != nil {
1094 t.Fatalf("subscribe failed: %s", err)
1095 }
1096
1097 nc.PublishMsg(&nats.Msg{Reply: sub.Subject, Subject: sub.Subject, Data: []byte("request")})
1098 req, err := sub.NextMsg(time.Second)
1099 if err != nil {
1100 t.Fatalf("NextMsg failed: %s", err)
1101 }
1102
1103 // verifies that RespondMsg sets the reply subject on msg based on req
1104 err = req.RespondMsg(&nats.Msg{Data: []byte("response")})
1105 if err != nil {
1106 t.Fatalf("RespondMsg failed: %s", err)
1107 }
1108
1109 resp, err := sub.NextMsg(time.Second)
1110 if err != nil {
1111 t.Fatalf("NextMsg failed: %s", err)
1112 }
1113
1114 if !bytes.Equal(resp.Data, []byte("response")) {
1115 t.Fatalf("did not get correct response: %q", resp.Data)
1116 }
1117}
1118
1119func TestCustomInboxPrefix(t *testing.T) {
1120 opts := &nats.Options{}

Callers

nothing calls this directly

Calls 10

ConnectMethod · 0.80
FatalfMethod · 0.80
NewInboxMethod · 0.80
NextMsgMethod · 0.80
RespondMsgMethod · 0.80
EqualMethod · 0.80
RunServerOnPortFunction · 0.70
SubscribeSyncMethod · 0.65
PublishMsgMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected