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

Function TestConsumerInfo

jetstream/test/consumer_test.go:29–152  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

27)
28
29func TestConsumerInfo(t *testing.T) {
30 srv := RunBasicJetStreamServer()
31 defer shutdownJSServerAndRemoveStorage(t, srv)
32
33 nc, err := nats.Connect(srv.ClientURL())
34 if err != nil {
35 t.Fatalf("Unexpected error: %v", err)
36 }
37
38 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
39 defer cancel()
40 js, err := jetstream.New(nc)
41 if err != nil {
42 t.Fatalf("Unexpected error: %v", err)
43 }
44 defer nc.Close()
45
46 for _, consType := range []string{"pull", "push"} {
47 s, err := js.CreateStream(ctx, jetstream.StreamConfig{Name: "foo", Subjects: []string{"FOO.*"}})
48 if err != nil {
49 t.Fatalf("Unexpected error: %v", err)
50 }
51
52 t.Run(fmt.Sprintf("get %s consumer info, ok", consType), func(t *testing.T) {
53 var c consInfoConstraint
54 if consType == "pull" {
55 c, err = s.CreateOrUpdateConsumer(ctx, jetstream.ConsumerConfig{
56 Durable: "cons",
57 AckPolicy: jetstream.AckExplicitPolicy,
58 Description: "test consumer",
59 })
60 } else {
61 c, err = s.CreatePushConsumer(ctx, jetstream.ConsumerConfig{
62 DeliverSubject: "inbox",
63 Durable: "cons",
64 AckPolicy: jetstream.AckExplicitPolicy,
65 Description: "test consumer",
66 })
67 }
68 if err != nil {
69 t.Fatalf("Unexpected error: %v", err)
70 }
71
72 info, err := c.Info(ctx)
73 if err != nil {
74 t.Fatalf("Unexpected error: %v", err)
75 }
76
77 if info.Stream != "foo" {
78 t.Fatalf("Invalid stream name; expected: 'foo'; got: %s", info.Stream)
79 }
80 if info.Config.Description != "test consumer" {
81 t.Fatalf("Invalid consumer description; expected: 'test consumer'; got: %s", info.Config.Description)
82 }
83 if info.Config.PauseUntil != nil {
84 t.Fatalf("Consumer should not be paused")
85 }
86 if info.Paused != false {

Callers

nothing calls this directly

Calls 15

InfoMethod · 0.95
NewFunction · 0.92
ConnectMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
CreateStreamMethod · 0.65
CreatePushConsumerMethod · 0.65
StreamMethod · 0.65
ConsumerMethod · 0.65

Tested by

no test coverage detected