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() ); }); }
private void ChangeOkPull(IJetStream js, ConsumerConfiguration.ConsumerConfigurationBuilder builder) { js.PullSubscribe(SUBJECT, PullSubscribeOptions.Builder().WithConfiguration(builder.Build()).Build()).Unsubscribe(); }