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

Function TestJetStreamPauseAndResumeConsumer

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

Source from the content-addressed store, hash-verified

1525}
1526
1527func TestJetStreamPauseAndResumeConsumer(t *testing.T) {
1528 srv := RunBasicJetStreamServer()
1529 defer shutdownJSServerAndRemoveStorage(t, srv)
1530
1531 nc, err := nats.Connect(srv.ClientURL())
1532 if err != nil {
1533 t.Fatalf("Unexpected error: %v", err)
1534 }
1535 defer nc.Close()
1536
1537 ctx := context.Background()
1538 js, err := jetstream.New(nc)
1539 if err != nil {
1540 t.Fatalf("Unexpected error: %v", err)
1541 }
1542
1543 _, err = js.CreateStream(ctx, jetstream.StreamConfig{
1544 Name: "TEST",
1545 Subjects: []string{"foo"},
1546 })
1547 if err != nil {
1548 t.Fatalf("Unexpected error: %v", err)
1549 }
1550
1551 _, err = js.CreateConsumer(ctx, "TEST", jetstream.ConsumerConfig{
1552 Durable: "cons",
1553 AckPolicy: jetstream.AckExplicitPolicy,
1554 })
1555 if err != nil {
1556 t.Fatalf("Unexpected error: %v", err)
1557 }
1558
1559 t.Run("pause consumer", func(t *testing.T) {
1560 pauseUntil := time.Now().Add(1 * time.Minute)
1561 resp, err := js.PauseConsumer(ctx, "TEST", "cons", pauseUntil)
1562 if err != nil {
1563 t.Fatalf("Unexpected error: %v", err)
1564 }
1565
1566 if !resp.Paused {
1567 t.Fatal("Consumer should be paused")
1568 }
1569 if resp.PauseRemaining <= 0 {
1570 t.Fatal("PauseRemaining should be greater than 0")
1571 }
1572 })
1573
1574 t.Run("resume consumer", func(t *testing.T) {
1575 resp, err := js.ResumeConsumer(ctx, "TEST", "cons")
1576 if err != nil {
1577 t.Fatalf("Unexpected error: %v", err)
1578 }
1579
1580 if resp.Paused {
1581 t.Fatal("Consumer should not be paused")
1582 }
1583 if resp.PauseRemaining != 0 {
1584 t.Fatal("PauseRemaining should be 0")

Callers

nothing calls this directly

Calls 11

NewFunction · 0.92
ConnectMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
CreateStreamMethod · 0.65
CreateConsumerMethod · 0.65
AddMethod · 0.65
PauseConsumerMethod · 0.65
ResumeConsumerMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected