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

Function TestUpdateConsumer

jetstream/test/stream_test.go:318–427  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

316}
317
318func TestUpdateConsumer(t *testing.T) {
319 tests := []struct {
320 name string
321 consumerConfig jetstream.ConsumerConfig
322 shouldUpdate bool
323 withError error
324 }{
325 {
326 name: "update consumer",
327 consumerConfig: jetstream.ConsumerConfig{Name: "testcons", Description: "updated consumer"},
328 shouldUpdate: true,
329 },
330 {
331 name: "update consumer, with metadata",
332 consumerConfig: jetstream.ConsumerConfig{Name: "testcons", Description: "updated consumer", Metadata: map[string]string{"foo": "bar", "baz": "quux"}},
333 shouldUpdate: true,
334 },
335 {
336 name: "illegal update",
337 consumerConfig: jetstream.ConsumerConfig{Name: "testcons", AckPolicy: jetstream.AckNonePolicy},
338 withError: jetstream.ErrConsumerCreate,
339 },
340 {
341 name: "consumer does not exist",
342 consumerConfig: jetstream.ConsumerConfig{Name: "abc"},
343 withError: jetstream.ErrConsumerDoesNotExist,
344 },
345 }
346
347 srv := RunBasicJetStreamServer()
348 defer shutdownJSServerAndRemoveStorage(t, srv)
349 nc, err := nats.Connect(srv.ClientURL())
350 if err != nil {
351 t.Fatalf("Unexpected error: %v", err)
352 }
353
354 js, err := jetstream.New(nc)
355 if err != nil {
356 t.Fatalf("Unexpected error: %v", err)
357 }
358 defer nc.Close()
359
360 for _, consType := range []string{"pull", "push"} {
361 ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
362 defer cancel()
363 s, err := js.CreateStream(ctx, jetstream.StreamConfig{Name: "foo", Subjects: []string{"FOO.*"}})
364 if err != nil {
365 t.Fatalf("Unexpected error: %v", err)
366 }
367
368 if consType == "pull" {
369 _, err = s.CreateConsumer(ctx, jetstream.ConsumerConfig{Name: "testcons"})
370 } else {
371 _, err = s.CreatePushConsumer(ctx, jetstream.ConsumerConfig{Name: "testcons", DeliverSubject: "inbox"})
372 }
373 if err != nil {
374 t.Fatalf("Unexpected error: %v", err)
375 }

Callers

nothing calls this directly

Calls 15

NextMsgWithContextMethod · 0.95
CachedInfoMethod · 0.95
NewFunction · 0.92
ConnectMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
CreateStreamMethod · 0.65
CreateConsumerMethod · 0.65
CreatePushConsumerMethod · 0.65
SubscribeSyncMethod · 0.65
UpdateConsumerMethod · 0.65

Tested by

no test coverage detected