(t *testing.T)
| 316 | } |
| 317 | |
| 318 | func 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 | } |
nothing calls this directly
no test coverage detected