Example #1
0
        private void ChangeExPull(IJetStream js, ConsumerConfiguration.ConsumerConfigurationBuilder builder, String changedField)
        {
            NATSJetStreamClientException e = Assert.Throws <NATSJetStreamClientException>(
                () => js.PullSubscribe(SUBJECT, PullSubscribeOptions.Builder().WithConfiguration(builder.Build()).Build()));

            _ChangeEx(e, changedField);
        }
        public void TestCreateConsumersWithFilters()
        {
            Context.RunInJsServer(c => {
                IJetStreamManagement jsm = c.CreateJetStreamManagementContext();

                // plain subject
                CreateDefaultTestStream(jsm);

                ConsumerConfiguration.ConsumerConfigurationBuilder builder = ConsumerConfiguration.Builder().WithDurable(DURABLE);
                jsm.AddOrUpdateConsumer(STREAM, builder.WithFilterSubject(SUBJECT).Build());

                Assert.Throws <NATSJetStreamException>(() => jsm.AddOrUpdateConsumer(STREAM,
                                                                                     builder.WithFilterSubject(SubjectDot("not-match")).Build()));

                // wildcard subject
                jsm.DeleteStream(STREAM);
                CreateMemoryStream(jsm, STREAM, SUBJECT_STAR);

                jsm.AddOrUpdateConsumer(STREAM, builder.WithFilterSubject(SubjectDot("A")).Build());

                Assert.Throws <NATSJetStreamException>(() => jsm.AddOrUpdateConsumer(STREAM,
                                                                                     builder.WithFilterSubject(SubjectDot("not-match")).Build()));

                // gt subject
                jsm.DeleteStream(STREAM);
                CreateMemoryStream(jsm, STREAM, SUBJECT_GT);

                jsm.AddOrUpdateConsumer(STREAM, builder.WithFilterSubject(SubjectDot("A")).Build());

                Assert.Throws <NATSJetStreamException>(() => jsm.AddOrUpdateConsumer(STREAM,
                                                                                     builder.WithFilterSubject(SubjectDot("not-match")).Build()));

                // try to filter against durable with mismatch, pull
                IJetStream js = c.CreateJetStreamContext();

                jsm.AddOrUpdateConsumer(STREAM, ConsumerConfiguration.Builder()
                                        .WithDurable(Durable(42))
                                        .WithFilterSubject(SubjectDot("F"))
                                        .Build()
                                        );
            });
        }
Example #3
0
 private void ChangeOkPull(IJetStream js, ConsumerConfiguration.ConsumerConfigurationBuilder builder)
 {
     js.PullSubscribe(SUBJECT, PullSubscribeOptions.Builder().WithConfiguration(builder.Build()).Build()).Unsubscribe();
 }