public void when_starting_twice_then_throws() { var receiver = new SubscriptionReceiver(this.Settings, this.Topic, this.Subscription); receiver.Start(); Assert.Throws <InvalidOperationException>(() => receiver.Start()); }
public void when_starting_twice_then_ignores_second_request() { var receiver = new SubscriptionReceiver(Settings, Topic, Subscription); receiver.Start(m => MessageReleaseAction.CompleteMessage); receiver.Start(m => MessageReleaseAction.CompleteMessage); }
public void when_starting_twice_then_ignores_second_request() { var receiver = new SubscriptionReceiver(this.Settings, this.Topic, this.Subscription); receiver.Start(); receiver.Start(); }
public void when_sending_message_then_can_receive_it() { var sender = new TopicSender(this.settings, this.topic); BrokeredMessage message = null; var data = new Data { Id = Guid.NewGuid(), Title = "Foo" }; using (var receiver = new SubscriptionReceiver(this.settings, this.topic, this.subscription)) { var signal = new ManualResetEventSlim(); receiver.MessageReceived += (o, e) => { message = e.Message; signal.Set(); }; receiver.Start(); sender.Send(new BrokeredMessage(data)); signal.Wait(); } Assert.NotNull(message); var received = message.GetBody <Data>(); Assert.Equal(data.Id, received.Id); Assert.Equal(data.Title, received.Title); }
public void when_sending_message_then_can_receive_it() { var sender = new TopicSender(this.Settings, this.Topic); Data data = new Data { Id = Guid.NewGuid(), Title = "Foo" }; Data received = null; using (var receiver = new SubscriptionReceiver(this.Settings, this.Topic, this.Subscription)) { var signal = new ManualResetEventSlim(); receiver.Start( m => { received = m.GetBody <Data>(); signal.Set(); return(MessageReleaseAction.CompleteMessage); }); sender.SendAsync(() => new BrokeredMessage(data)); signal.Wait(); } Assert.NotNull(received); Assert.Equal(data.Id, received.Id); Assert.Equal(data.Title, received.Title); }