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

Function TestJetStreamInterfaces

test/js_test.go:4749–4784  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

4747}
4748
4749func TestJetStreamInterfaces(t *testing.T) {
4750 s := RunBasicJetStreamServer()
4751 defer shutdownJSServerAndRemoveStorage(t, s)
4752
4753 var jsm nats.JetStreamManager
4754 var jsctx nats.JetStreamContext
4755
4756 // JetStream that can publish/subscribe but cannot manage streams.
4757 nc, js := jsClient(t, s)
4758 defer nc.Close()
4759
4760 var err error
4761
4762 js.Publish("foo", []byte("hello"))
4763
4764 // JetStream context that can manage streams/consumers but cannot produce messages.
4765 jsm, err = nc.JetStream()
4766 if err != nil {
4767 t.Fatalf("Unexpected error: %v", err)
4768 }
4769 jsm.AddStream(&nats.StreamConfig{Name: "FOO"})
4770
4771 // JetStream context that can both manage streams/consumers
4772 // as well as publish/subscribe.
4773 jsctx, err = nc.JetStream()
4774 if err != nil {
4775 t.Fatalf("Unexpected error: %v", err)
4776 }
4777 jsctx.AddStream(&nats.StreamConfig{Name: "BAR"})
4778 jsctx.Publish("bar", []byte("hello world"))
4779
4780 publishMsg := func(js nats.JetStream, payload []byte) {
4781 js.Publish("foo", payload)
4782 }
4783 publishMsg(js, []byte("hello world"))
4784}
4785
4786func TestJetStreamSubscribe_DeliverPolicy(t *testing.T) {
4787 s := RunBasicJetStreamServer()

Callers

nothing calls this directly

Calls 8

AddStreamMethod · 0.95
JetStreamMethod · 0.80
FatalfMethod · 0.80
RunBasicJetStreamServerFunction · 0.70
jsClientFunction · 0.70
PublishMethod · 0.65
CloseMethod · 0.45

Tested by

no test coverage detected