(t *testing.T)
| 27 | ) |
| 28 | |
| 29 | func 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 { |
nothing calls this directly
no test coverage detected