(t *testing.T)
| 4747 | } |
| 4748 | |
| 4749 | func 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 | |
| 4786 | func TestJetStreamSubscribe_DeliverPolicy(t *testing.T) { |
| 4787 | s := RunBasicJetStreamServer() |
nothing calls this directly
no test coverage detected